Skip to navigation

Apple Pay Checkout

Authentication

x-coinflow-auth-session-keystring
OR
x-coinflow-auth-walletstring
x-coinflow-auth-blockchainstring
OR
x-coinflow-auth-user-idstring

Path parameters

merchantIdstringRequired

Headers

x-device-idstringOptional

Request

This endpoint expects an object.
subtotalobjectRequired
applePayPaymentobjectRequired

Apple Pay Payment received from the Apple Pay SDK

Details can be found here: https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypayment

userLocationobjectOptional

End-user geographic coordinates captured at the moment of the withdrawal request. Consumed by BlockingRuleMethod.GEOLOCATION enforcement.

Replay-of-different-coords bypass is prevented server-side: the first resolved {country, state} for a given (merchant, user) pair is pinned in Redis, and subsequent requests are evaluated against that pinned value regardless of the lat/lng they submit.

customerInfoobjectOptional
webhookInfoobjectOptional
chargebackProtectionDatalist of objectsOptional
Cart item details required for Coinflow Chargeback Protection. Required if the merchant uses chargeback protection.
feePercentagedoubleOptional0-100

If this purchase is for a seller/submerchant where the marketplace takes a fee, this is the % fee which is taken from the subtotal amount.

fixedFeeobjectOptional
jwtTokenstringOptional
This is a token encoding the parameters for the request. Allows purchase parameters to be verified to prevent manipulation when the checkout page is presented to the user.
statementDescriptorstringOptional
If the bank supports dynamic descriptors, this will appear on the customer's statement.
accountFundingTransactionobjectOptional
Used for Account Funding Transactions
authOnlybooleanOptional

Only authorize the purchase. This will not actually capture the payment.(default: false)

rentobjectOptional
transactionDataobjectOptional

(EVM only) if you want to execute an EVM transaction on a successful purchase, you can pass a transaction request here.

Gas fees for the transaction will be automatically calculated and added to the total charged to the customer. Optionally the merchant can opt to pay for these gas fees.

stellarTransactionstringOptional

(Stellar only) Base64 XDR transaction string for executing a merchant contract call on a successful purchase.

For transaction purchases, pass the base64 XDR string created using .toXDR() on a transaction built with generated TypeScript bindings (e.g., NftClientWrapper.buildNftPurchaseTx).

For direct USDC transfers (no merchant transaction), omit this field or pass undefined.

Gas fees for the transaction will be automatically calculated and added to the total charged to the customer.

presentmentenumOptional
chargebackProtectionAccountTypeenumOptional
Allowed values:
settlementTypeenumOptional
Allowed values:
threeDsChallengePreferenceenumOptional
Allowed values:
destinationAuthKeystringOptional
If utilizing USDC settlement to addresses other than your main merchant settlement address. Utilize this destinationAuthKey which is a JWT encoded with the information for which address to send the USDC to.
customerUsdcTransferDataobjectOptional

Customer signed USDC transferWithAuthorization data for dual-source payments Used for combined USDC + Credit Card payments on EVM chains

customerUsdcTransferDataV2objectOptional

V2 of CustomerUsdcTransferData — replaces the (v, r, s) triple with a single signature bytes string, matching USDC FiatTokenV2_2's bytes-overload transferWithAuthorization. All other fields unchanged from V1.

customPayInFeeslist of objectsOptional
overrideChargebackProtectionDecisionbooleanOptional
doNotReviewChargebackProtectionbooleanOptional

Response

Ok
paymentIdstring
The ID of the payment that was created.

Errors

402
Payment Required Error
423
Locked Error
451
Unavailable for Legal Reasons Error