Payment Setup
POST/v2/orders/:orderID/payments
Depending on the payment gateway, you may have access to different transaction types such as capturing funds immediately or authorizing them for later. For more information, see Transactions.
The following types of payment methods are available depending on the payment gateway:
purchase
: The is the simplest method. The gateway attempts to charge the customer immediately.authorize
: This method authorizes a payment so that funds can be captured later, for example, when an item is dispatched or restocked.purchase_setup
: This method prepares the system for a purchase by verifying payment details without actually charging the customer. For example, a customer adds items to their cart and proceeds to checkout. Before finalizing the purchase, the system runspurchase_setup
to confirm all payment details, but no funds are transferred until the customer confirms the order.authorize_setup
: This method prepares the system for an authorization-only transaction. This process holds the necessary funds but does not transfer them, ensuring that the customer has sufficient balance for the transaction. It sets up the conditions for a future capture of the authorized funds. For example, a customer places a pre-order for a product that will ship in two weeks. The merchant usesauthorize_setup
to prepare for the payment authorization. This holds the customer's funds to ensure they can cover the purchase but waits to capture the payment until the product ships. This ensures that payment is secured but not collected prematurely.
Split payments can be performed using any methods for any gateway.
- You can partially pay funds using
purchase
method. The gateway attempts to charge the customer immediately, and the payment status for an order will showpartially_paid
- You can partially pay for an order using
authorize
method where the order will be marked aspartially_authorized
. The transaction must be completed for the order status to bepartially_authorized
. - A
purchase_setup
method allows verification of payment details for partial payments without transferring funds until the customer confirms the full order. - An
authorize_setup
method can be used to hold a partial amount of the total funds, ensuring the customer has enough balance for a future capture. Until a payment is made neitherpurchase_setup
norauthorize_setup
affects the payment statuses, and the order remains unpaid. For more information about order and payment statuses for split payments, see Split payments.
Request
Path Parameters
The Universally Unique Identifier (UUID) of the order you want to pay for.
- application/json
Body
- Data.AdyenPayment
- Data.AuthorizeNetPayment
- Data.BraintreePayment
- Data.CardConnectPayment
- Data.CyberSourcePayment
- Elastic Path Payments Powered By Stripe
- Data.ManualPayment
- Data.PayPalExpressCheckoutPayment
- Data.StripePayment
- Data.StripeConnectPayment
- Data.StripePaymentIntentsPayment
data object
Possible values: [adyen
]
Specifies the gateway. You must use adyen
.
Possible values: [authorize
, purchase
, purchase_setup
, authorize_setup
]
Specifies the transaction method, such as purchase
or authorize
.
The amount to be paid for the transaction.
options object
The shopper reference token associated with the saved payment method.
Enter CardOnFile for a one-time purchase.
The Adyen recurringDetailReference payment method identifier.
Possible values: [authorize_net
]
Specifies the gateway. You must use authorize_net
.
Possible values: [authorize
, purchase
, purchase_setup
, authorize_setup
]
Specifies the transaction method, such as purchase
or authorize
.
The amount to be paid for the transaction.
options object
The Authorize.net customer payment profile ID.
The Authorize.net customer profile ID.
Possible values: [braintree
]
Specifies the gateway. You must use braintree
.
Possible values: [authorize
, purchase
, purchase_setup
, authorize_setup
]
Specifies the transaction method, such as purchase
or authorize
.
The amount to be paid for the transaction.
The Braintree Customer ID that you want to bill.
Possible values: [card_connect
]
Specifies the gateway. You must use card_connect
.
Possible values: [authorize
, purchase
, purchase_setup
, authorize_setup
]
Specifies the transaction method, such as purchase
or authorize
.
The amount to be paid for the transaction.
Enter account_id, profile_id from CardPointe API. For example, 1|16178397535388255208.
Possible values: [cyber_source
]
Specifies the gateway. You must use cyber_source
.
Possible values: [authorize
, purchase
, purchase_setup
, authorize_setup
]
Specifies the transaction method, such as purchase
or authorize
.
The amount to be paid for the transaction.
The CyberSource token.
Possible values: [elastic_path_payments_stripe
]
Specifies the gateway. You must use elastic_path_payments_stripe
.
Possible values: [authorize
, purchase
, purchase_setup
, authorize_setup
]
Specifies the transaction method, such as purchase
or authorize
.
The amount to be paid for the transaction.
options object
Provides the email address to which you want to send the Stripe receipts for the transactions within the store. This feature is available only in the live mode.
automatic_payment_methods object
Parent object determining whether to use Stripe's automatic_payment_methods
setting.
When set to true, it displays all enabled payment methods from the Stripe dashboard. When set to false, the Stripe default, which is card, is used.
Specifies the Stripe payment method types configured for the store. See Stripe Documentation.
Specifies the Stripe token or source.
Possible values: [manual
]
Specifies the type of payment gateway. You must use manual
.
Possible values: [authorize
, purchase
, purchase_setup
, authorize_setup
]
Specifies the transaction method, such as purchase
or authorize
.
The amount to be paid for the transaction.
paymentmethod_meta object
A reference associated with the payment method. This might include loyalty points or gift card identifiers. We recommend not to include personal information in this field.
A custom name associated with the payment method.
Possible values: [paypal_express_checkout
]
Specifies the type of payment gateway. You must use paypal_express_checkout
.
Possible values: [authorize
, purchase
, purchase_setup
, authorize_setup
]
Specifies the transaction method, such as purchase
or authorize
.
The amount to be paid for the transaction.
options object
The description for the payment.
The descriptor appended to PayPal generated descriptor that is visible on the card statement of the payer.
application_context object
The label that overrides the business name in the PayPal account on the payPal site.
The locale pages that appear based on language and country code. PayPal supports a five-character code. For example, ja-JP.
The type of landing page to show on the PayPal site for customer checkout. Use values LOGIN, BILLING, or NO_PREFERENCE.
The shipping preference. Use SET_PROVIDED_ADDRESS value. This parameter does allow the user to change their address on PayPal site.
If you set useraction=commit
in the query string, the flow redirects the buyer to the PayPal payment page and displays a Pay Now button. When the shopper clicks Pay Now, call DoExpressCheckoutPayment
to complete the payment without additional interaction from the shopper. Choose this flow when you know the final payment amount when you initiate the checkout flow.
The callback URL for PayPal to redirect the user in the case of approved payment.
The callback URL for PayPal to redirect user in the case a cancelled payment.
Possible values: [stripe
]
Specifies the type of payment gateway. You must use stripe
.
Possible values: [authorize
, purchase
, purchase_setup
, authorize_setup
]
Specifies the transaction method, such as purchase
or authorize
.
The amount to be paid for the transaction.
options object
The option to provide an email for Stripe receipts. Specify live mode to access this feature.
The Stripe token or source.
Possible values: [stripe_connect
]
Specifies the type of payment gateway. You must use stripe_connect
.
Possible values: [authorize
, purchase
, purchase_setup
, authorize_setup
]
Specifies the transaction method, such as purchase
or authorize
.
The amount to be paid for the transaction.
options object
Provides the email address to which you want to send the Stripe receipts for the transactions within the store. This feature is available only in the live mode.
Specifies the Stripe token or source.
Possible values: [stripe_payment_intents
]
Specifies the type of payment gateway. You must use stripe_payment_intents
.
Possible values: [authorize
, purchase
, purchase_setup
, authorize_setup
]
Specifies the transaction method, such as purchase
or authorize
.
The amount to be paid for the transaction.
options object
Provides the email address to which you want to send the Stripe receipts for the transactions within the store. This feature is available only in the live mode.
Specifies the Stripe token or source.
Responses
- 200
- 401
OK
- application/json
- Schema
- Example (from schema)
Schema
data object
The ID of the transaction.
The payment gateway reference.
A custom name associated with the payment method.
A reference associated with the payment method. This might include loyalty points or gift card identifiers. We recommend you not to include personal information in this field.
Possible values: [adyen
, authorize_net
, braintree
, card_connect
, cyber_source
, elastic_path_payments_stripe
, manual
, paypal_express_checkout
, stripe
, stripe_connect
, stripe_payment_intents
]
The name of the payment gateway used.
The amount for this transaction.
The refunded amount.
The transaction currency.
The type of transaction, such as purchase
, capture
, authorize
or refund
.
The status provided by the gateway for this transaction, such as complete
or failed
.
relationships object
order object
data object
Represents the type of the object being returned. It is always order
.
The ID of the order.
meta object
display_price object
The raw total of this cart.
The currency set for this cart.
The tax inclusive formatted total based on the currency.
display_refunded_amount object
The raw total of this cart.
The currency set for this cart.
The tax inclusive formatted total based on the currency.
timestamps object
The date this was created.
The date this was last updated.
{
"data": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"reference": "string",
"name": "string",
"custom_reference": "string",
"gateway": "adyen",
"amount": 0,
"refunded_amount": 0,
"currency": "string",
"transaction-type": "string",
"status": "string",
"relationships": {
"order": {
"data": {
"type": "string",
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
}
},
"meta": {
"display_price": {
"amount": 0,
"currency": "string",
"formatted": "string"
},
"display_refunded_amount": {
"amount": 0,
"currency": "string",
"formatted": "string"
},
"timestamps": {
"created_at": "string"
}
}
}
}
Unauthorized
- application/json
- Schema
- Example (from schema)
- Example
Schema
[
null
]
{
"errors": {
"status": 401,
"title": "Unauthorized"
}
}