Adding a payment source
How to add a payment source to the order
You have a pending order with a selected payment method and you want to give your customer the possibility to select a payment source — e.g. a credit card — to be used to pay for the order.
A sample payment source selection
Generally speaking, the first step in any implementation of the flow is the creation of the payment source object and its association with the order. To do that, you need to know the payment source endpoint. If you don't, you need to retrieve the
payment_source_typeattribute value from the payment method associated with the order first.
To get the payment source type, send a
GETrequest to the
/api/orders/:idendpoint, including the associated payment method, and read its
payment_source_typeattribute value from the response.
To create the payment source object and associate it with the order, you need to send a
POSTrequest to an endpoint that is different for each payment source. That means you need to dynamically build the request URL based on the
payment_source_typeattribute value of the selected payment — i.e.
/api/:payment_source_type— and fill the request payload with the specific attributes required by each payment gateway and the relationship with the order.
The structure of the payment source object you receive in the response will differ based on the specific payment source type, because each payment gateway or service has a different integration pattern. As a consequence, the subsequent payment flow will be dependent on the specific payment source that is associated with the order.
Please refer to the payments guide for detailed information and examples, according to the payment gateway you're using.