ReleaseProduct Updates

Payment intents: making terminal orders fully self-service

Payment intents let ISVs specify who pays for a terminal order, and how, right in the same request, making terminal ordering fully self-service.

Stephen Picton
Stephen Picton
Senior Director, Information Architecture · September 29, 2026

A streamlined boarding process is essential for Independent Software Vendors (ISVs) to accelerate growth and scale. Our Boarding API already lets you board merchants and order terminal hardware for them programmatically, but it didn't give you a way to specify who pays for a terminal order, or which payment method to use. Our Accounting Team had to handle the payment manually once you created the order. For ISVs building a boarding flow end to end, that gap meant that terminal ordering wasn't truly self-service. You could create the merchant and order the terminal through the API, but we still needed to step in to handle the payment.

The new paymentIntent object closes that gap. As an ISV or Sales Partner, you can now specify who pays for a terminal order and how they pay in the same request that creates the order. This lets you build a more complete, self-service terminal-ordering flow without a separate payment step.

How do payment intents work?

When you create a terminal order for a merchant, you can include a paymentIntent object to specify who pays for the order and how they pay. A payment intent does not collect payment on its own. It records the payment arrangement for the order.

  • Partner pays for the terminal order: You can pay using an account already on file with Payroc, or deduct the order amount from your residual payouts.
  • Merchant pays for the terminal order: Merchant can pay by card or ACH through a payment link that takes them to a Hosted Payment Page, or use an account already on file. Merchants can also pay for the terminal order in installments. We only send the payment link after we approve the merchant ID (MID).

After you create the terminal order, our gateway returns a response that includes the payment intent ID, type, and a link to the payment intent. You can also find these details when you retrieve or list terminal orders.

What can you do with payment intents?

  • Retrieve a payment intent on demand: Use the Retrieve Payment Intent method to check the current status, payer, payment method, and cost breakdown of an existing payment intent. You can also use the List Terminal Orders method to retrieve terminal orders for a processing account and view the payment intent associated with each order.
  • Subscribe to status changes: Subscribe to the paymentIntent.status.changed event to know when a payment intent moves between pendingPayment, pendingCancellation, successful, unsuccessful, or cancelled.
  • Keep payment details out of your integration: Payroc handles payment collection through Payment Links, so you never need to handle sensitive card or bank data directly.

Get started

New to ordering terminals through our API? Start with our Order a terminal guide to see the full flow, and then add a paymentIntent object to specify who pays and how.

Already boarding merchants and ordering terminals? Add a paymentIntent object to your next Create Terminal Order call.

Ready to build?

GitHub auth. Instant sandbox. First transaction in minutes.