v4

latestOpenAPI 3.1.02026-08-08186985685.3 KB
checkout

Card Checkout

Processes a checkout via credit card information, will tokenize and save the card for reuse by the customer in the future.

post/checkout/card/{merchantId}

Path parameters

merchantIdstring required

Headers

x-coinflow-auth-session-keystring required
x-device-idstring
  • (Optional) If you are using Coinflow Chargeback Protection, you must pass the device id of the customer's device.
x-coinflow-client-ipstring

Request body

settlementType'Credits' | 'USDC'
redemptionCheckboolean

(Solana only) If a transaction involved in the purchase, should payment be checked for redemption

authOnlyboolean

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

feePercentagenumber double

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.

jwtTokenstring

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.

threeDsChallengePreference'NoPreference' | 'Frictionless' | 'Challenge'
destinationAuthKeystring

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.

stellarTransactionstring

(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.

overrideChargebackProtectionDecisionboolean
doNotReviewChargebackProtectionboolean
chargebackProtectionAccountType'guest' | 'private' | 'business'
presentment'USD' | 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYN' | 'BZD' | 'CAD' | 'CHF' | 'CLF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ETB' | 'EUR' | 'FJD' | 'GBP' | 'GEL' | 'GHS' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRU' | 'MUR' | 'MWK' | 'MVR' | 'MXN' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RWF' | 'SAR' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SLE' | 'SLL' | 'SOS' | 'SRD' | 'STN' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'UYU' | 'UZS' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XCD' | 'XOF' | 'XPF' | 'YER' | 'ZAR' | 'ZMW' | 'ZWL' | 'CDF' | 'ERN' | 'FKP' | 'KPW' | 'RUB' | 'SBD' | 'SHP' | 'SSP' | 'VES'
statementDescriptorstring

If the bank supports dynamic descriptors, this will appear on the customer's statement.

saveCardboolean

Save the new card? If not passed in, will default to true

Response

Ok

paymentIdstring required

The ID of the payment that was created.

authorizationExpirationstring

The datetime when this authorization expires and subsequent card-on-file or merchant-initiated transactions can no longer be made. After this time, the card must be re-authorized via another CIT transaction. Only present when card-on-file or MIT settings are enabled on the merchant.