openapi: 3.1.0 info: title: API Reference authentication checkout API version: 1.0.0 servers: - url: https://api-sandbox.coinflow.cash/api description: https://api-sandbox.coinflow.cash/api tags: - name: checkout paths: /checkout/ach/{merchantId}: post: operationId: ach-checkout summary: ACH Checkout description: Processes a checkout via ACH. tags: - checkout parameters: - name: merchantId in: path required: true schema: type: string - name: x-coinflow-auth-session-key in: header description: The session key generated for the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/CheckoutResponse' '423': description: Customer is Blocked content: application/json: schema: description: Any type '428': description: User must re-verify account content: application/json: schema: description: Any type '451': description: Must Complete Additional Verification content: application/json: schema: $ref: '#/components/schemas/VerificationRequiredResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/AchCheckoutArgs' /checkout/apa/{merchantId}: post: operationId: apa-checkout summary: APA Checkout description: Initiates the checkout for an APA Payment tags: - checkout parameters: - name: merchantId in: path required: true schema: type: string - name: x-coinflow-auth-session-key in: header description: The session key generated for the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Checkout_ApaCheckout_Response_200' '423': description: Customer is Blocked content: application/json: schema: description: Any type '451': description: Must Complete Additional Verification content: application/json: schema: $ref: '#/components/schemas/Pick_VerificationRequiredResponse.verification-or-verificationLink_' requestBody: content: application/json: schema: $ref: '#/components/schemas/ApaCheckoutArgs' /checkout/v2/apple-pay/{merchantId}: post: operationId: apple-pay summary: Apple Pay Checkout tags: - checkout parameters: - name: merchantId in: path required: true schema: type: string - name: x-coinflow-auth-session-key in: header description: The session key generated for the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string - name: x-device-id in: header required: false schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/CheckoutResponse' '402': description: ApplePay unavailable content: application/json: schema: description: Any type '423': description: Customer is Blocked content: application/json: schema: description: Any type '451': description: Must Complete Additional Verification content: application/json: schema: $ref: '#/components/schemas/VerificationRequiredResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/ApplePayCheckoutArgs' /checkout/apple-pay/validatemerchant: get: operationId: validate-merchant summary: Apple Pay Validate Merchant tags: - checkout parameters: - name: domainName in: query description: '- Top level domain that the Apple Pay Button is associated with' required: true schema: type: string - name: merchantId in: query description: 'The merchant ID associated with this request, required if you are utilizing custom certificates - The Merchant ID of the Merchant' required: false schema: type: string responses: '200': description: Ok content: application/json: schema: description: Any type /checkout/capture: post: operationId: capture-payment summary: Capture Payment description: If a payment has been created with authOnly=true, capture it using this endpoint. tags: - checkout parameters: - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Checkout_CapturePayment_Response_200' requestBody: content: application/json: schema: $ref: '#/components/schemas/CapturePaymentRequest' /checkout/card/{merchantId}: post: operationId: card-checkout summary: Card Checkout description: Processes a checkout via credit card information, will tokenize and save the card for reuse by the customer in the future. tags: - checkout parameters: - name: merchantId in: path required: true schema: type: string - name: x-coinflow-auth-session-key in: header description: The session key generated for the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string - name: x-device-id in: header description: '- (Optional) If you are using Coinflow Chargeback Protection, you must pass the device id of the customer''s device.' required: false schema: type: string - name: x-coinflow-client-ip in: header required: false schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/CardCheckoutResponse' '412': description: Challenge required content: application/json: schema: $ref: '#/components/schemas/ChallengeFields' '423': description: Customer is Blocked content: application/json: schema: description: Any type '451': description: Must Complete Additional Verification content: application/json: schema: $ref: '#/components/schemas/Pick_VerificationRequiredResponse.verification-or-verificationLink_' requestBody: content: application/json: schema: $ref: '#/components/schemas/CardCheckoutArgs' /checkout/card-on-file-authorized: post: operationId: card-on-file-authorized summary: Card on File Authorized description: 'Checks if a user is authorized for card on file transactions with this card. It is recommended to call this endpoint to confirm card on file transactions can be performed with a card before attempting any session (such as an auction) involving card on file transactions.' tags: - checkout parameters: - name: x-coinflow-auth-user-id in: header description: The external identifier of the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string - name: x-device-id in: header required: false schema: type: string - name: x-coinflow-client-ip in: header required: false schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Checkout_CardOnFileAuthorized_Response_200' '403': description: Card on file not enabled content: application/json: schema: description: Any type '410': description: Validation for this card has expired. Revalidate the CVV for this card, and make a new purchase using the /api/checkout/card/token in order to begin using this endpoint again. content: application/json: schema: $ref: '#/components/schemas/RevalidateCVVFields' '412': description: 3DS Challenge required content: application/json: schema: $ref: '#/components/schemas/ChallengeFields' requestBody: content: application/json: schema: type: object properties: token: type: string required: - token /checkout/card-on-file: post: operationId: card-on-file-checkout summary: Card On File Checkout description: 'Processes a Card On File Transaction using a saved card from a previous Customer Initiated Transaction (CIT). This endpoint can only be used if the customer is actively involved in the purchase flow and has explicitly granted their authorization to charge their card.' tags: - checkout parameters: - name: x-coinflow-auth-user-id in: header description: The external identifier of the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string - name: x-device-id in: header required: false schema: type: string - name: x-coinflow-client-ip in: header required: false schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/CheckoutResponse' '403': description: Card on file not enabled content: application/json: schema: description: Any type '410': description: Validation for this card has expired. Revalidate the CVV for this card, and make a new purchase using the /api/checkout/card/token in order to begin using this endpoint again. content: application/json: schema: $ref: '#/components/schemas/RevalidateCVVFields' '412': description: 3DS Challenge required content: application/json: schema: $ref: '#/components/schemas/ChallengeFields' requestBody: content: application/json: schema: $ref: '#/components/schemas/CardOnFileCheckoutArgs' /checkout/cashapp/{merchantId}: post: operationId: cash-app-checkout summary: Cash App Checkout description: Initiates the checkout for a Cash App Payment tags: - checkout parameters: - name: merchantId in: path required: true schema: type: string - name: x-coinflow-auth-session-key in: header description: The session key generated for the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string - name: x-device-id in: header description: '- (Optional) If you are using Coinflow Chargeback Protection, you must pass the device id of the customer''s device.' required: false schema: type: string - name: x-coinflow-client-ip in: header required: false schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Checkout_CashAppCheckout_Response_200' '412': description: Challenge required content: application/json: schema: $ref: '#/components/schemas/ChallengeFields' '423': description: Customer is Blocked content: application/json: schema: description: Any type '451': description: Must Complete Additional Verification content: application/json: schema: $ref: '#/components/schemas/Pick_VerificationRequiredResponse.verification-or-verificationLink_' requestBody: content: application/json: schema: $ref: '#/components/schemas/CashAppCheckoutArgs' /checkout/pix: post: operationId: create-pix-payment summary: Create Pix Payment description: Initiates a Pix payment order. Returns a BR code used to pay the order. Must be paid before the returned expiration date (5 minutes). tags: - checkout parameters: - name: x-coinflow-auth-session-key in: header description: The session key generated for the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/PixCheckoutResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/PixCheckoutArgs' /checkout/crypto: post: operationId: crypto-checkout-headless summary: Crypto Payin description: Initiates a payment where the customer is paying with Crypto tags: - checkout parameters: - name: x-coinflow-auth-user-id in: header description: The external identifier of the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/HeadlessCheckoutSession' '423': description: Customer is Blocked content: application/json: schema: description: Any type requestBody: content: application/json: schema: $ref: '#/components/schemas/CryptoHeadlessCheckoutArgs' get: operationId: get-supported-chains-and-tokens-for-merchant summary: Get supported chains and tokens description: Get the supported chains and tokens for crypto payin w/ merchant settings tags: - checkout parameters: - name: subtotalCents in: query description: '- (Optional) - include parameter to receive quoted fee in response' required: false schema: type: number format: double - name: subtotalCurrency in: query description: '- (Optional) - include parameter if subtotal is not USD' required: false schema: $ref: '#/components/schemas/Currency' - name: tier in: query description: '- (Optional) - filter tokens by fee tier' required: false schema: $ref: '#/components/schemas/CryptoTier' - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/SupportedChainTokenCombos' /checkout/jwt-token: post: operationId: get-checkout-jwt-token summary: Get Checkout Jwt Token description: "Gets a Checkout Jwt Token for a purchase\n\nCheckout JWT tokens ensure:\n1. The arguments of the purchase cannot be manipulated\n2. The checkout JWT is only valid for a single purchase\n3. The arguments of the purchase are encrypted to be hidden from the user\n (webhook info, chargebackProtectionData, etc...)" tags: - checkout parameters: - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Checkout_GetCheckoutJwtToken_Response_200' requestBody: content: application/json: schema: $ref: '#/components/schemas/GetCheckoutLinkArgs' /checkout/link: post: operationId: get-checkout-link summary: Get Checkout Link description: 'Gets a checkout link for the UserID that can be embedded in vanilla iframe or the user can be redirected to' tags: - checkout parameters: - name: x-coinflow-auth-user-id in: header description: The external identifier of the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string - name: x-coinflow-submerchant-id in: header required: false schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Checkout_GetCheckoutLink_Response_200' requestBody: content: application/json: schema: $ref: '#/components/schemas/GetCheckoutLinkArgs' /checkout/destination-auth-key: post: operationId: get-destination-auth-key summary: Get Destination Auth Key description: 'If your merchant account is settling USDC to an account OTHER than the one defined in your settlement settings, you can utilize this endpoint to get a destinationAuthKey which can be passed into the checkout endpoints which will settle USDC to the account which is passed into this endpoint.' tags: - checkout parameters: - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Checkout_GetDestinationAuthKey_Response_200' requestBody: content: application/json: schema: type: object properties: blockchain: $ref: '#/components/schemas/Blockchain' destination: type: string required: - blockchain - destination /checkout/fees: post: operationId: get-fees summary: Get Interchange Fees description: 'Gets the breakdown of possible fees It is unlikely you will be calling this endpoint. Only call if you want to see the fee breakdown for all payment methods ex: Debit vs. Credit. If you are trying to display all possible fees (including gas) broken down by line item and the final total amount, call the "Get Totals" endpoint.' tags: - checkout parameters: - name: x-coinflow-auth-session-key in: header description: The session key generated for the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Partial_Record_PaymentMethods.FeeOption-Array-or-FeeDetail-or-CurrencyCents__' requestBody: content: application/json: schema: $ref: '#/components/schemas/FeeDetailRequest' /checkout/totals/{merchantId}: post: operationId: get-totals summary: Get Totals description: Gets the fees, quotes, and totals for a particular checkout. tags: - checkout parameters: - name: merchantId in: path required: true schema: type: string - name: x-coinflow-auth-session-key in: header description: The session key generated for the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Record_PaymentMethods.TotalsResponseSettlement-or-undefined_' requestBody: content: application/json: schema: $ref: '#/components/schemas/GetTotalsBody' /checkout/evm/usdc-authorization: post: operationId: get-usdc-authorization-message summary: Get USDC Authorization Message (EVM only) description: 'Gets the USDC authorization message to be signed by the customer for dual-source payments. The signed message allows the customer''s USDC to be used alongside credit card payment. This is only necessary for EVM chains when using customer USDC + credit card payment.' tags: - checkout parameters: - name: x-coinflow-auth-session-key in: header description: The session key generated for the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/GetUsdcAuthorizationResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/GetUsdcAuthorizationBody' /checkout/google-pay/{merchantId}: post: operationId: google-pay summary: Google Pay Checkout tags: - checkout parameters: - name: merchantId in: path required: true schema: type: string - name: x-coinflow-auth-session-key in: header description: The session key generated for the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string - name: x-device-id in: header required: false schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/CheckoutResponse' '402': description: GooglePay unavailable content: application/json: schema: description: Any type '412': description: Challenge required content: application/json: schema: $ref: '#/components/schemas/ChallengeFields' '423': description: Customer is Blocked content: application/json: schema: description: Any type '451': description: Must Complete Additional Verification content: application/json: schema: $ref: '#/components/schemas/VerificationRequiredResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/GooglePayCheckoutArgs' /checkout/interac: post: operationId: interac-checkout summary: Interac e-Transfer Checkout (New Contact) description: Initiates an Interac e-Transfer payin with a new contact. Returns the paymentId. tags: - checkout parameters: - name: x-coinflow-auth-session-key in: header description: The session key generated for the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/InteracCheckoutResponse' '423': description: Customer is Blocked content: application/json: schema: description: Any type '451': description: Must Complete Additional Verification content: application/json: schema: $ref: '#/components/schemas/VerificationRequiredResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/NewInteracCheckoutArgs' /checkout/interac/token: post: operationId: interac-token-checkout summary: Interac e-Transfer Checkout (Saved Contact) description: Initiates an Interac e-Transfer payin with a previously saved contact. tags: - checkout parameters: - name: x-coinflow-auth-session-key in: header description: The session key generated for the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/InteracCheckoutResponse' '423': description: Customer is Blocked content: application/json: schema: description: Any type '451': description: Must Complete Additional Verification content: application/json: schema: $ref: '#/components/schemas/VerificationRequiredResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/SavedTokenCheckoutArgs' /checkout/merchant-initiated-transaction: post: operationId: merchant-initiated-transaction summary: Merchant Initiated Transaction description: 'Processes a Merchant Initated Transaction using a saved card from a previous Customer Initiated Transaction (CIT) authorized for this purpose. This endpoint can only be used if the customer has once before authorized their card to be charged on your platform. An example flow would be a usage based billing paradigm. A customer would add their card and perform a zero authorization transaction which would then allow this card to be charged in subsequent merchant initiated transactions.' tags: - checkout parameters: - name: x-coinflow-auth-user-id in: header description: The external identifier of the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/CheckoutResponse' '403': description: Merchant Initiated Transactions not enabled content: application/json: schema: description: Any type '410': description: Validation for this card has expired. Revalidate the CVV for this card, and make a new purchase using the /api/checkout/card/token in order to begin using this endpoint again. content: application/json: schema: $ref: '#/components/schemas/RevalidateCVVFields' '429': description: Reached Max Number of Transactions In Period content: application/json: schema: description: Any type requestBody: content: application/json: schema: $ref: '#/components/schemas/MerchantInitiatedTransactionArgs' /checkout/paypal/{merchantId}: post: operationId: new-pay-pal-checkout summary: PayPal New Checkout description: Initiates the checkout for PayPal payment with a new account tags: - checkout parameters: - name: merchantId in: path required: true schema: type: string - name: x-coinflow-auth-session-key in: header description: The session key generated for the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string - name: x-device-id in: header description: '- (Optional) If you are using Coinflow Chargeback Protection, you must pass the device id of the customer''s device.' required: false schema: type: string - name: x-coinflow-client-ip in: header required: false schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/PayPalCheckoutResponse' '412': description: Challenge required content: application/json: schema: $ref: '#/components/schemas/ChallengeFields' '423': description: Customer is Blocked content: application/json: schema: description: Any type '451': description: Must Complete Additional Verification content: application/json: schema: $ref: '#/components/schemas/Pick_VerificationRequiredResponse.verification-or-verificationLink_' requestBody: content: application/json: schema: $ref: '#/components/schemas/NewPayPalCheckoutArgs' /checkout/paypal/token/{merchantId}: post: operationId: saved-pay-pal-checkout summary: PayPal Saved Checkout description: Initiates the checkout for PayPal payment with a saved account tags: - checkout parameters: - name: merchantId in: path required: true schema: type: string - name: x-coinflow-auth-session-key in: header description: The session key generated for the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string - name: x-device-id in: header description: '- (Optional) If you are using Coinflow Chargeback Protection, you must pass the device id of the customer''s device.' required: false schema: type: string - name: x-coinflow-client-ip in: header required: false schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/PayPalCheckoutResponse' '412': description: Challenge required content: application/json: schema: $ref: '#/components/schemas/ChallengeFields' '423': description: Customer is Blocked content: application/json: schema: description: Any type '451': description: Must Complete Additional Verification content: application/json: schema: $ref: '#/components/schemas/Pick_VerificationRequiredResponse.verification-or-verificationLink_' requestBody: content: application/json: schema: $ref: '#/components/schemas/SavedPayPalCheckoutArgs' /checkout/review: put: operationId: review-payment summary: Review Payment Protection description: If a payment has a chargeback protection status of Pending Review, select the action to be taken on the payment tags: - checkout parameters: - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Successful response requestBody: content: application/json: schema: $ref: '#/components/schemas/ReviewPaymentRequest' /checkout/token/{merchantId}: post: operationId: token-checkout summary: Saved Card Checkout description: Processes a checkout via tokenized card information. tags: - checkout parameters: - name: merchantId in: path required: true schema: type: string - name: x-coinflow-auth-session-key in: header description: The session key generated for the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string - name: x-device-id in: header description: '- (Optional) If you are using Coinflow Chargeback Protection, you must pass the device id of the customer''s device.' required: false schema: type: string - name: x-coinflow-client-ip in: header required: false schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/CheckoutResponse' '412': description: 3DS Challenge required content: application/json: schema: $ref: '#/components/schemas/ChallengeFields' '422': description: Address Required content: application/json: schema: description: Any type '423': description: Customer is Blocked content: application/json: schema: description: Any type '451': description: Must Complete Additional Verification content: application/json: schema: $ref: '#/components/schemas/VerificationRequiredResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/TokenCheckoutArgs' /checkout/iban: post: operationId: iban-checkout summary: Sepa/Faster Payments Checkout (New Account) description: 'Initiates a Sepa/Faster Payments payment order with a new account. Returns destination account info. Must be paid before the returned expiration date (5 minutes).' tags: - checkout parameters: - name: x-coinflow-auth-session-key in: header description: The session key generated for the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/IbanPaymentDetails' '423': description: Customer is Blocked content: application/json: schema: description: Any type '426': description: BIC required content: application/json: schema: description: Any type '428': description: User must re-verify account content: application/json: schema: description: Any type '451': description: Must Complete Additional Verification content: application/json: schema: $ref: '#/components/schemas/VerificationRequiredResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/NewIbanCheckoutArgs' /checkout/iban/token: post: operationId: iban-token-checkout summary: Sepa/Faster Payments Checkout (Saved Account) description: 'Initiates a Sepa/Faster Payments payment order. Returns destination account info. Must be paid before the returned expiration date (5 minutes).' tags: - checkout parameters: - name: x-coinflow-auth-session-key in: header description: The session key generated for the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/IbanPaymentDetails' '423': description: Customer is Blocked content: application/json: schema: description: Any type '428': description: User must re-verify account content: application/json: schema: description: Any type '451': description: Must Complete Additional Verification content: application/json: schema: $ref: '#/components/schemas/VerificationRequiredResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/SavedTokenCheckoutArgs' /checkout/wire: post: operationId: wire-checkout summary: US Wire Domestic Payments Checkout (New Account) description: 'Initiates a US Domestic Wire Payments payment order with a new account. Returns destination account info. Must be paid before the returned expiration date (5 minutes).' tags: - checkout parameters: - name: x-coinflow-auth-session-key in: header description: The session key generated for the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/USWirePaymentDetails' '412': description: Additional Account Details Are Required - Please provide the required fields in body.bankAccountDetails.wireRoutingNumber and/or body.bankAccountDetails.accountNumber content: application/json: schema: description: Any type '423': description: Customer is Blocked content: application/json: schema: description: Any type '428': description: User must re-verify account content: application/json: schema: description: Any type '451': description: Must Complete Additional Verification content: application/json: schema: $ref: '#/components/schemas/VerificationRequiredResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/NewWireCheckoutArgs' /checkout/wire/token: post: operationId: wire-token-checkout summary: US Wire Domestic Payments Checkout (Saved Account) description: 'Initiates a US Domestic Wire Payments payment order with a saved account. Returns destination account info. Must be paid before the returned expiration date (5 minutes).' tags: - checkout parameters: - name: x-coinflow-auth-session-key in: header description: The session key generated for the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/USWirePaymentDetails' '412': description: Additional Account Details Are Required - Please provide the required fields in body.bankAccountDetails.wireRoutingNumber and/or body.bankAccountDetails.accountNumber content: application/json: schema: description: Any type '423': description: Customer is Blocked content: application/json: schema: description: Any type '428': description: User must re-verify account content: application/json: schema: description: Any type '451': description: Must Complete Additional Verification content: application/json: schema: $ref: '#/components/schemas/VerificationRequiredResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/SavedWireTokenCheckoutArgs' /checkout/venmo/{merchantId}: post: operationId: new-venmo-checkout summary: Venmo New Checkout description: Initiates the checkout for Venmo payment with a new account tags: - checkout parameters: - name: merchantId in: path required: true schema: type: string - name: x-coinflow-auth-session-key in: header description: The session key generated for the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string - name: x-device-id in: header description: '- (Optional) If you are using Coinflow Chargeback Protection, you must pass the device id of the customer''s device.' required: false schema: type: string - name: x-coinflow-client-ip in: header required: false schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/VenmoCheckoutResponse' '412': description: Challenge required content: application/json: schema: $ref: '#/components/schemas/ChallengeFields' '423': description: Customer is Blocked content: application/json: schema: description: Any type '451': description: Must Complete Additional Verification content: application/json: schema: $ref: '#/components/schemas/Pick_VerificationRequiredResponse.verification-or-verificationLink_' requestBody: content: application/json: schema: $ref: '#/components/schemas/NewVenmoCheckoutArgs' /checkout/venmo/token/{merchantId}: post: operationId: saved-venmo-checkout summary: Venmo Saved Checkout description: Initiates the checkout for Venmo payment with a saved account tags: - checkout parameters: - name: merchantId in: path required: true schema: type: string - name: x-coinflow-auth-session-key in: header description: The session key generated for the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string - name: x-device-id in: header description: '- (Optional) If you are using Coinflow Chargeback Protection, you must pass the device id of the customer''s device.' required: false schema: type: string - name: x-coinflow-client-ip in: header required: false schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/VenmoCheckoutResponse' '412': description: Challenge required content: application/json: schema: $ref: '#/components/schemas/ChallengeFields' '423': description: Customer is Blocked content: application/json: schema: description: Any type '451': description: Must Complete Additional Verification content: application/json: schema: $ref: '#/components/schemas/Pick_VerificationRequiredResponse.verification-or-verificationLink_' requestBody: content: application/json: schema: $ref: '#/components/schemas/SavedVenmoCheckoutArgs' /checkout/void: post: operationId: void-payment summary: Void Payment description: If a payment has been created with authOnly=true, void the authorization using this endpoint. tags: - checkout parameters: - name: Authorization in: header description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string responses: '200': description: Successful response requestBody: content: application/json: schema: $ref: '#/components/schemas/VoidPaymentRequest' /checkout/zero-authorization/{merchantId}: post: operationId: zero-authorization summary: Zero Authorization description: 'Performs an Authorization transaction on a Card for $0.00 to be validated and stored for future use. This endpoint can only be used if the customer is actively involved in the purchase flow and has explicitly granted their authorization to charge their card.' tags: - checkout parameters: - name: merchantId in: path required: true schema: type: string - name: x-coinflow-auth-session-key in: header description: The session key generated for the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key required: true schema: type: string - name: x-device-id in: header required: false schema: type: string - name: x-coinflow-client-ip in: header required: false schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/ZeroAuthorizationCheckoutResponse' '403': description: Zero Authorization not enabled content: application/json: schema: description: Any type '410': description: Validation for this card has expired. Revalidate the CVV for this card, and make a new purchase using the /api/checkout/card/token in order to begin using this endpoint again. content: application/json: schema: $ref: '#/components/schemas/RevalidateCVVFields' '412': description: 3DS Challenge required content: application/json: schema: $ref: '#/components/schemas/ChallengeFields' requestBody: content: application/json: schema: $ref: '#/components/schemas/ZeroAuthorizationCheckoutArgsWithoutReason' components: schemas: PixCheckoutResponse: type: object properties: paymentId: type: string description: The ID of the payment that was created. brCode: type: string description: QR code to display to complete payment. quote: $ref: '#/components/schemas/CurrencyCents' expires: type: string description: BR Code expiration required: - paymentId - brCode - quote - expires title: PixCheckoutResponse AchCheckoutArgs: type: object properties: customPayInFees: $ref: '#/components/schemas/CustomPayInFeesConfig' customerInfo: $ref: '#/components/schemas/CustomerInfo' webhookInfo: $ref: '#/components/schemas/AnyObject' chargebackProtectionData: $ref: '#/components/schemas/CartClassOmitted' feePercentage: type: number format: double description: '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.' fixedFee: $ref: '#/components/schemas/Cents' subtotal: $ref: '#/components/schemas/Cents' jwtToken: type: string description: '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.' authOnly: type: boolean description: 'Only authorize the purchase. This will not actually capture the payment.(default: false)' rent: $ref: '#/components/schemas/AchCheckoutArgsRent' description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. transactionData: $ref: '#/components/schemas/EvmTransactionData' stellarTransaction: type: string description: '(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.' settlementType: $ref: '#/components/schemas/SettlementType' threeDsChallengePreference: $ref: '#/components/schemas/ThreeDsChallengePreference' destinationAuthKey: type: string description: '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.' userLocation: $ref: '#/components/schemas/IUserLocation' overrideChargebackProtectionDecision: type: boolean doNotReviewChargebackProtection: type: boolean token: type: string description: Token for the bankAccount to be used for the checkout. transaction: type: - string - 'null' description: '- (Solana): A Base58 encoded transaction' required: - subtotal - token title: AchCheckoutArgs PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsCrypto1: type: array items: $ref: '#/components/schemas/FeeOption' title: PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsCrypto1 ApplePayPaymentTokenPaymentMethod: type: object properties: type: $ref: '#/components/schemas/ApplePayPaymentTokenPaymentMethodType' description: A value representing the card's type of payment. network: $ref: '#/components/schemas/ApplePayPaymentTokenPaymentMethodNetwork' description: A string, suitable for display, that is the name of the payment network backing the card. displayName: type: string description: A string, suitable for display, that describes the card. required: - type - network - displayName description: Information about the card used in the transaction. title: ApplePayPaymentTokenPaymentMethod PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsGooglePay1: type: array items: $ref: '#/components/schemas/FeeOption' title: PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsGooglePay1 ApplePayCheckoutArgs: type: object properties: customPayInFees: $ref: '#/components/schemas/CustomPayInFeesConfig' customerInfo: $ref: '#/components/schemas/CustomerInfo' webhookInfo: $ref: '#/components/schemas/AnyObject' chargebackProtectionData: $ref: '#/components/schemas/CartClassOmitted' feePercentage: type: number format: double description: '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.' fixedFee: $ref: '#/components/schemas/Cents' subtotal: $ref: '#/components/schemas/Subtotal' jwtToken: type: string description: '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.' statementDescriptor: type: string description: 'If the bank supports dynamic descriptors, this will appear on the customer''s statement.' accountFundingTransaction: $ref: '#/components/schemas/AccountFundingTransaction' authOnly: type: boolean description: 'Only authorize the purchase. This will not actually capture the payment.(default: false)' rent: $ref: '#/components/schemas/ApplePayCheckoutArgsRent' description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. transactionData: $ref: '#/components/schemas/EvmTransactionData' stellarTransaction: type: string description: '(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.' presentment: $ref: '#/components/schemas/Currency' chargebackProtectionAccountType: $ref: '#/components/schemas/ChargebackProtectionAccountType' settlementType: $ref: '#/components/schemas/SettlementType' redemptionCheck: type: boolean description: (Solana only) If a transaction involved in the purchase, should payment be checked for redemption threeDsChallengePreference: $ref: '#/components/schemas/ThreeDsChallengePreference' destinationAuthKey: type: string description: '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.' customerUsdcTransferData: $ref: '#/components/schemas/CustomerUsdcTransferData' customerUsdcTransferDataV2: $ref: '#/components/schemas/CustomerUsdcTransferDataV2' userLocation: $ref: '#/components/schemas/IUserLocation' overrideChargebackProtectionDecision: type: boolean doNotReviewChargebackProtection: type: boolean applePayPayment: $ref: '#/components/schemas/ApplePayPayment' required: - subtotal - applePayPayment title: ApplePayCheckoutArgs NormalRedeemTransaction: type: object properties: data: type: string description: 'The data to call this contract with, HEX encoded. The coinflow contract calls the "to" contract, contract pulls USDC from msg.sender, and transfers the NFT/item to the "receiver" address defined in the contract function arguments.' to: type: string description: The merchant's whitelisted contract required: - data - to description: Transaction to be called. title: NormalRedeemTransaction MoneyTopUpCartItemItemClass: type: string enum: - moneyTopUp description: 'Denotes the cart item class. The item schema is chosen based on this value. Allowed value: moneyTopUp Example: moneyTopUp' title: MoneyTopUpCartItemItemClass PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsPix: oneOf: - $ref: '#/components/schemas/CurrencyCents' - $ref: '#/components/schemas/PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsPix1' - $ref: '#/components/schemas/FeeDetail' title: PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsPix CardCheckoutArgsRent: type: object properties: lamports: $ref: '#/components/schemas/CardCheckoutArgsRentLamports' required: - lamports description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. title: CardCheckoutArgsRent NewInteracCheckoutArgsRent: type: object properties: lamports: $ref: '#/components/schemas/NewInteracCheckoutArgsRentLamports' required: - lamports description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. title: NewInteracCheckoutArgsRent google.payments.api.SelectionOptionData: type: object properties: id: type: string description: 'Unique identifier of a [[SelectionOption|`SelectionOption`]]. Must match with [[SelectionOption.id|`SelectionOption.id`]] field.' required: - id description: Data for a [[SelectionOption|`SelectionOption`]]. title: google.payments.api.SelectionOptionData SavedWireTokenCheckoutArgsRent: type: object properties: lamports: $ref: '#/components/schemas/SavedWireTokenCheckoutArgsRentLamports' required: - lamports description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. title: SavedWireTokenCheckoutArgsRent ReviewPaymentRequest: type: object properties: paymentId: type: string description: The ID of the payment that was created. accept: type: boolean required: - paymentId - accept title: ReviewPaymentRequest Checkout_GetCheckoutJwtToken_Response_200: type: object properties: checkoutJwtToken: description: Any type required: - checkoutJwtToken title: Checkout_GetCheckoutJwtToken_Response_200 Checkout_CardOnFileAuthorized_Response_200: type: object properties: authorized: type: boolean required: - authorized title: Checkout_CardOnFileAuthorized_Response_200 NewPayPalCheckoutArgsPaypal: oneOf: - $ref: '#/components/schemas/NewPayPalCheckoutArgsPaypal0' - $ref: '#/components/schemas/NewPayPalCheckoutArgsPaypal1' description: The email or phone number tied to the PayPal account title: NewPayPalCheckoutArgsPaypal NewPayPalCheckoutArgsPaypal0: type: object properties: email: type: string required: - email title: NewPayPalCheckoutArgsPaypal0 CryptoCartItemItemClass: type: string enum: - crypto description: 'Denotes the cart item class. The item schema is chosen based on this value. Allowed value: crypto Example: crypto' title: CryptoCartItemItemClass google.payments.api.CardInfo: type: object properties: assuranceDetails: $ref: '#/components/schemas/google.payments.api.AssuranceDetails' cardNetwork: $ref: '#/components/schemas/google.payments.api.CardNetwork' cardDetails: type: string description: 'The details about the card. This value will be generally the last 4 digits of the card. These details **should not** be displayed to the buyer, but can be used when the details of a buyer''s card are needed. An example would be for customer support to help the buyer identify the card used for this transaction. For a user-visible description, use [[PaymentMethodData.description|`PaymentMethodData.description`]] instead.' billingAddress: $ref: '#/components/schemas/google.payments.api.Address' required: - cardNetwork - cardDetails description: 'Data for a [[PaymentMethodType|`PaymentMethodType.CARD`]] payment method.' title: google.payments.api.CardInfo CashAppCheckoutArgs: type: object properties: customPayInFees: $ref: '#/components/schemas/CustomPayInFeesConfig' customerInfo: $ref: '#/components/schemas/CustomerInfo' webhookInfo: $ref: '#/components/schemas/AnyObject' feePercentage: type: number format: double description: '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.' fixedFee: $ref: '#/components/schemas/Cents' subtotal: $ref: '#/components/schemas/Subtotal' jwtToken: type: string description: '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.' rent: $ref: '#/components/schemas/CashAppCheckoutArgsRent' description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. transactionData: $ref: '#/components/schemas/EvmTransactionData' stellarTransaction: type: string description: '(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.' settlementType: $ref: '#/components/schemas/SettlementType' destinationAuthKey: type: string description: '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.' userLocation: $ref: '#/components/schemas/IUserLocation' overrideChargebackProtectionDecision: type: boolean doNotReviewChargebackProtection: type: boolean email: type: string required: - subtotal title: CashAppCheckoutArgs RecipientInfoWallet: type: object properties: custodialType: $ref: '#/components/schemas/RecipientInfoWalletCustodialType' description: 'The type of the wallet Allowed values: custodial, nonCustodial, unknown Example: custodial' blockchain: type: string description: 'The blockchain on which the transaction was made Example: BTC Pattern: ^[A-Z0-9-]+$' address: type: string description: The crypto wallet address that will receive the funds required: - custodialType - blockchain - address description: The crypto wallet that will receive the funds title: RecipientInfoWallet HeadlessCheckoutSession: type: object properties: sessionId: type: string description: The session/payment identifier depositAddress: type: string description: The deposit address where funds should be sent paymentChainName: type: string description: Human-readable chain name paymentCurrencySymbol: type: string description: The token symbol paymentAmount: type: string description: The amount to pay in the selected currency chainLogoUrl: type: string currencyLogoUrl: type: string paymentId: type: string required: - sessionId - depositAddress - paymentChainName - paymentCurrencySymbol - paymentAmount - chainLogoUrl - currencyLogoUrl - paymentId description: Response from creating a payin session title: HeadlessCheckoutSession CustomerUsdcTransferDataValidBefore: oneOf: - type: string - type: number format: double title: CustomerUsdcTransferDataValidBefore SupportedToken: type: object properties: name: type: string symbol: type: string image: type: string feeTier: $ref: '#/components/schemas/CryptoTier' fee: $ref: '#/components/schemas/CurrencyCents' required: - name - symbol - image - feeTier title: SupportedToken NewInteracCheckoutArgsRentLamports: oneOf: - type: string - type: number format: double title: NewInteracCheckoutArgsRentLamports NameCustomerInfo: type: object properties: verificationId: type: string displayName: type: string address: type: string city: type: string state: type: string zip: type: string country: type: string ip: type: string lat: type: string lng: type: string dob: type: string description: Date of birth in YYYY-MM-DD format email: type: string name: type: string title: NameCustomerInfo Exclude_ApaCredentialType.ApaCredentialType.PAN_: oneOf: - $ref: '#/components/schemas/ApaCredentialType.PHONE' - $ref: '#/components/schemas/ApaCredentialType.EMAIL' description: Exclude from T those types that are assignable to U title: Exclude_ApaCredentialType.ApaCredentialType.PAN_ CardOnFileCheckoutArgsWithTokenRent: type: object properties: lamports: $ref: '#/components/schemas/CardOnFileCheckoutArgsWithTokenRentLamports' required: - lamports description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. title: CardOnFileCheckoutArgsWithTokenRent GetTotalsBodyRentLamports: oneOf: - type: string - type: number format: double title: GetTotalsBodyRentLamports SplitNameCustomerInfo: type: object properties: verificationId: type: string displayName: type: string address: type: string city: type: string state: type: string zip: type: string country: type: string ip: type: string lat: type: string lng: type: string dob: type: string description: Date of birth in YYYY-MM-DD format email: type: string firstName: type: string lastName: type: string required: - firstName - lastName title: SplitNameCustomerInfo ZeroAuthorizationCheckoutArgsWithoutReason: oneOf: - $ref: '#/components/schemas/ZeroAuthorizationCheckoutArgsNewCardWithoutReason' - $ref: '#/components/schemas/ZeroAuthorizationCheckoutArgsSavedCardWithoutReason' title: ZeroAuthorizationCheckoutArgsWithoutReason PayPalCheckoutResponse: type: object properties: paymentId: type: string description: The ID of the payment that was created. required: - paymentId title: PayPalCheckoutResponse SavedVenmoCheckoutArgsRentLamports: oneOf: - type: string - type: number format: double title: SavedVenmoCheckoutArgsRentLamports GooglePayCheckoutArgsPaymentData: type: object properties: apiVersion: type: number format: double description: 'Major API version. This value will match what was set in [[PaymentDataRequest.apiVersion|`PaymentDataRequest.apiVersion`]].' apiVersionMinor: type: number format: double description: 'Minor API version. This value will match what was set in [[PaymentDataRequest.apiVersionMinor|`PaymentDataRequest.apiVersionMinor`]].' email: type: string description: 'The buyer''s email. This value will only be set if [[PaymentDataRequest.emailRequired|`PaymentDataRequest.emailRequired`]] was set to `true`.' shippingAddress: $ref: '#/components/schemas/google.payments.api.Address' paymentMethodData: $ref: '#/components/schemas/google.payments.api.PaymentMethodData' offerData: $ref: '#/components/schemas/google.payments.api.OfferData' shippingOptionData: $ref: '#/components/schemas/google.payments.api.SelectionOptionData' bin: type: string required: - apiVersion - apiVersionMinor - paymentMethodData description: 'Payment data. Contains the payment data requested in [[PaymentDataRequest|`PaymentDataRequest`]]' title: GooglePayCheckoutArgsPaymentData Verification: type: object properties: reference: type: string status: $ref: '#/components/schemas/VerificationStatus' vendor: $ref: '#/components/schemas/VerificationVendor' name: type: string attested: type: boolean shareToken: type: string shareTokenStatus: type: string sessionToken: type: string required: - reference - status - vendor title: Verification ApaCheckoutArgsRent: type: object properties: lamports: $ref: '#/components/schemas/ApaCheckoutArgsRentLamports' required: - lamports description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. title: ApaCheckoutArgsRent USWirePaymentDetails: type: object properties: address: $ref: '#/components/schemas/Address' account_number: type: string description: The bank account number that funds should be directed to. wireRoutingNumber: type: string description: The wire routing number that funds should be directed to. paymentId: type: string recipientName: type: string memo: type: string amount: $ref: '#/components/schemas/CurrencyCents' expires: type: string required: - address - account_number - wireRoutingNumber - paymentId - recipientName - memo - amount - expires title: USWirePaymentDetails CustomPayInFeeValue: oneOf: - $ref: '#/components/schemas/CustomPayInFeeValue0' - $ref: '#/components/schemas/CustomPayInFeeValue1' title: CustomPayInFeeValue GooglePayCheckoutArgs: type: object properties: subtotal: $ref: '#/components/schemas/Subtotal' webhookInfo: $ref: '#/components/schemas/AnyObject' chargebackProtectionData: $ref: '#/components/schemas/CartClassOmitted' customerInfo: $ref: '#/components/schemas/CustomerInfo' settlementType: $ref: '#/components/schemas/SettlementType' rent: $ref: '#/components/schemas/GooglePayCheckoutArgsRent' description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. redemptionCheck: type: boolean description: (Solana only) If a transaction involved in the purchase, should payment be checked for redemption transactionData: $ref: '#/components/schemas/EvmTransactionData' authOnly: type: boolean description: 'Only authorize the purchase. This will not actually capture the payment.(default: false)' feePercentage: type: number format: double description: '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.' fixedFee: $ref: '#/components/schemas/Cents' jwtToken: type: string description: '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: $ref: '#/components/schemas/ThreeDsChallengePreference' destinationAuthKey: type: string description: '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.' customerUsdcTransferData: $ref: '#/components/schemas/CustomerUsdcTransferData' customerUsdcTransferDataV2: $ref: '#/components/schemas/CustomerUsdcTransferDataV2' stellarTransaction: type: string description: '(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.' userLocation: $ref: '#/components/schemas/IUserLocation' customPayInFees: $ref: '#/components/schemas/CustomPayInFeesConfig' overrideChargebackProtectionDecision: type: boolean doNotReviewChargebackProtection: type: boolean authentication3DS: $ref: '#/components/schemas/Authentication3DS' chargebackProtectionAccountType: $ref: '#/components/schemas/ChargebackProtectionAccountType' presentment: $ref: '#/components/schemas/Currency' accountFundingTransaction: $ref: '#/components/schemas/AccountFundingTransaction' statementDescriptor: type: string description: 'If the bank supports dynamic descriptors, this will appear on the customer''s statement.' paymentData: $ref: '#/components/schemas/GooglePayCheckoutArgsPaymentData' required: - subtotal - paymentData title: GooglePayCheckoutArgs GetUsdcAuthorizationResponseMessageData: type: object properties: nonce: type: string validBefore: type: string validAfter: type: string value: type: string to: type: string from: type: string required: - nonce - validBefore - validAfter - value - to - from description: Structured message data for transparency title: GetUsdcAuthorizationResponseMessageData GetUsdcAuthorizationBody: type: object properties: amount: $ref: '#/components/schemas/Cents' paymentId: type: string description: Optional payment ID for generating unique nonce required: - amount description: Request body for getting USDC authorization message title: GetUsdcAuthorizationBody CheckoutCapturePostResponsesContentApplicationJsonSchemaJobId: oneOf: - type: number format: double - type: string title: CheckoutCapturePostResponsesContentApplicationJsonSchemaJobId TokenSubtotalAmount: oneOf: - type: number format: double - type: string description: Number of tokens title: TokenSubtotalAmount Partial_Record_PaymentMethods.FeeOption-Array-or-FeeDetail-or-CurrencyCents__: type: object properties: card: $ref: '#/components/schemas/PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsCard' ach: $ref: '#/components/schemas/PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsAch' fasterPayments: $ref: '#/components/schemas/PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsFasterPayments' sepa: $ref: '#/components/schemas/PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsSepa' pix: $ref: '#/components/schemas/PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsPix' usdc: $ref: '#/components/schemas/PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsUsdc' googlePay: $ref: '#/components/schemas/PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsGooglePay' applePay: $ref: '#/components/schemas/PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsApplePay' credits: $ref: '#/components/schemas/PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsCredits' crypto: $ref: '#/components/schemas/PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsCrypto' wire: $ref: '#/components/schemas/PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsWire' cashApp: $ref: '#/components/schemas/PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsCashApp' apa: $ref: '#/components/schemas/PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsApa' paypal: $ref: '#/components/schemas/PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsPaypal' venmo: $ref: '#/components/schemas/PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsVenmo' interac: $ref: '#/components/schemas/PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsInterac' description: Make all properties in T optional title: Partial_Record_PaymentMethods.FeeOption-Array-or-FeeDetail-or-CurrencyCents__ NewVenmoCheckoutArgsVenmo1: type: object properties: phoneNumber: $ref: '#/components/schemas/NewVenmoCheckoutArgsVenmoOneOf1PhoneNumber' required: - phoneNumber title: NewVenmoCheckoutArgsVenmo1 ZeroAuthVerifyCard: type: object properties: cardToken: type: string required: - cardToken description: 'Configuration for zero authorization flow - verify existing card mode. Shows the "Verify Card" flow for a specific saved card. The card token will be validated to ensure it belongs to the current user''s wallet. If the card doesn''t belong to the user, falls back to "Add New Card" view.' title: ZeroAuthVerifyCard CartItemClassOmitted: oneOf: - $ref: '#/components/schemas/Pick_nftCartItem.Exclude_keyofnftCartItem.sellingPrice-or-itemClass__' - $ref: '#/components/schemas/Pick_GiftCardCartItem.Exclude_keyofGiftCardCartItem.listPrice__' - $ref: '#/components/schemas/CryptoCartItem' - $ref: '#/components/schemas/MoneyTopUpCartItem' title: CartItemClassOmitted GooglePayCheckoutArgsRent: type: object properties: lamports: $ref: '#/components/schemas/GooglePayCheckoutArgsRentLamports' required: - lamports description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. title: GooglePayCheckoutArgsRent ReturnedTokenIdRedeem: type: object properties: waitForHash: type: boolean description: 'Whether the UI should wait for the transaction to be sent and the hash to be returned.' transaction: $ref: '#/components/schemas/ReturnedTokenIdRedeemTransaction' description: Transaction to be called. type: $ref: '#/components/schemas/ReturnedTokenIdRedeemType' nftContract: type: string required: - transaction - type description: '(EVM only) If your contract returns the NFT ID, then utilize this object. The contract mints the NFT to msg.sender (which is the Coinflow contract), the Coinflow contract picks up the returned NFT ID, and fwd''s the NFT to the end user''s wallet.' title: ReturnedTokenIdRedeem PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsWire1: type: array items: $ref: '#/components/schemas/FeeOption' title: PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsWire1 CardOnFileCheckoutArgsWithTokenRentLamports: oneOf: - type: string - type: number format: double title: CardOnFileCheckoutArgsWithTokenRentLamports GooglePayCheckoutArgsRentLamports: oneOf: - type: string - type: number format: double title: GooglePayCheckoutArgsRentLamports DecryptedApplePayToken: type: object properties: applicationPrimaryAccountNumber: type: string applicationExpirationDate: type: string currencyCode: type: string transactionAmount: type: number format: double deviceManufacturerIdentifier: type: string paymentDataType: type: string paymentData: $ref: '#/components/schemas/PaymentData' required: - applicationPrimaryAccountNumber - applicationExpirationDate - currencyCode - transactionAmount - deviceManufacturerIdentifier - paymentDataType - paymentData title: DecryptedApplePayToken CardCheckoutResponse: type: object properties: paymentId: type: string description: The ID of the payment that was created. authorizationExpiration: type: string description: '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.' required: - paymentId title: CardCheckoutResponse PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsCard1: type: array items: $ref: '#/components/schemas/FeeOption' title: PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsCard1 Pick_nftCartItem.Exclude_keyofnftCartItem.sellingPrice-or-itemClass__: type: object properties: productName: type: string description: The name of the related product productType: $ref: '#/components/schemas/productType' listPrice: $ref: '#/components/schemas/PickNftCartItemExcludeKeyofnftCartItemSellingPriceOrItemClassListPrice' description: The item's list price quantity: type: number format: double description: The number of units sold rawProductData: $ref: '#/components/schemas/AnyObject' seller: $ref: '#/components/schemas/SellerInfo' transactionHistory: type: array items: $ref: '#/components/schemas/TransactionHistoryItem' required: - productName - productType - quantity description: From T, pick a set of properties whose keys are in the union K title: Pick_nftCartItem.Exclude_keyofnftCartItem.sellingPrice-or-itemClass__ CardDataWithoutAddress: type: object properties: cardToken: type: string description: This is the card token received from the `CoinflowCardNumberInput` expYear: type: string description: 'The Cards Expiration Year ex: 2026 => 26' expMonth: type: string description: 'The Cards Expiration Month ex: January => 01 December => 12' additionalVendorData: $ref: '#/components/schemas/CardDataWithoutAddressAdditionalVendorData' description: 'Optional non-PCI passthrough fields merged into the stored card vendorData. Base type is empty; tokenization providers extend it with their own fields.' email: type: string businessName: type: string firstName: type: string lastName: type: string required: - cardToken - expYear - expMonth - email - firstName - lastName title: CardDataWithoutAddress PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsWire: oneOf: - $ref: '#/components/schemas/CurrencyCents' - $ref: '#/components/schemas/PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsWire1' - $ref: '#/components/schemas/FeeDetail' title: PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsWire PaymentData: type: object properties: onlinePaymentCryptogram: type: string eciIndicator: type: string required: - onlinePaymentCryptogram title: PaymentData ApaCheckoutArgs: type: object properties: customPayInFees: $ref: '#/components/schemas/CustomPayInFeesConfig' customerInfo: $ref: '#/components/schemas/CustomerInfo' webhookInfo: $ref: '#/components/schemas/AnyObject' feePercentage: type: number format: double description: '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.' fixedFee: $ref: '#/components/schemas/Cents' subtotal: $ref: '#/components/schemas/Subtotal' jwtToken: type: string description: '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.' rent: $ref: '#/components/schemas/ApaCheckoutArgsRent' description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. transactionData: $ref: '#/components/schemas/EvmTransactionData' stellarTransaction: type: string description: '(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.' settlementType: $ref: '#/components/schemas/SettlementType' destinationAuthKey: type: string description: '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.' customerUsdcTransferDataV2: $ref: '#/components/schemas/CustomerUsdcTransferDataV2' userLocation: $ref: '#/components/schemas/IUserLocation' overrideChargebackProtectionDecision: type: boolean doNotReviewChargebackProtection: type: boolean credentialType: $ref: '#/components/schemas/Exclude_ApaCredentialType.ApaCredentialType.PAN_' credentialValue: type: string description: Lowercased email or E.164-formatted phone number, matching credentialType. email: type: string description: 'Email for new customers paying with a phone APA credential. Not needed when credentialType is EMAIL (credentialValue is used as the email).' required: - subtotal - credentialType - credentialValue title: ApaCheckoutArgs NewVenmoCheckoutArgsVenmo: oneOf: - $ref: '#/components/schemas/NewVenmoCheckoutArgsVenmo0' - $ref: '#/components/schemas/NewVenmoCheckoutArgsVenmo1' description: The email or phone number tied to the Venmo account title: NewVenmoCheckoutArgsVenmo PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsCard: oneOf: - $ref: '#/components/schemas/CurrencyCents' - $ref: '#/components/schemas/PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsCard1' - $ref: '#/components/schemas/FeeDetail' title: PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsCard google.payments.api.PaymentMethodData: type: object properties: type: $ref: '#/components/schemas/google.payments.api.PaymentMethodType' info: $ref: '#/components/schemas/google.payments.api.CardInfo' description: type: string description: 'User-facing message to describe the payment method funding this transaction. You are required to show this message to the buyer as confirmation of their funding source. Please refer to the [documentation](https://developers.google.com/pay/api/|documentation) for more information. **IMPORTANT:** Do not attempt to parse the contents of this string as the format, contents, and length may change at any time. If you need additional details, see [[PaymentMethodData.info|`PaymentMethodData.info`]].' tokenizationData: $ref: '#/components/schemas/google.payments.api.PaymentMethodTokenizationData' required: - type - tokenizationData description: Data for a payment method. title: google.payments.api.PaymentMethodData CapturePaymentRequest: type: object properties: paymentId: type: string description: The ID of the payment that was created. subtotal: $ref: '#/components/schemas/Subtotal' rent: $ref: '#/components/schemas/CapturePaymentRequestRent' description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. transactionData: $ref: '#/components/schemas/EvmTransactionData' required: - paymentId - subtotal description: From T, pick a set of properties whose keys are in the union K title: CapturePaymentRequest NewVenmoCheckoutArgsRent: type: object properties: lamports: $ref: '#/components/schemas/NewVenmoCheckoutArgsRentLamports' required: - lamports description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. title: NewVenmoCheckoutArgsRent DecentRedeemCost: type: object properties: isNative: type: boolean description: 'Whether or not the token is the native token for the chain (ex: Ethereum - ETH, Polygon - POL). If native dstToken should be the 0 address (0x00...)' amount: type: string description: 'This is the raw amount of the token ex: 50000000000000n' required: - isNative - amount description: Amount of the token on the destination chain you will be receiving title: DecentRedeemCost NewIbanCheckoutArgsRent: type: object properties: lamports: $ref: '#/components/schemas/NewIbanCheckoutArgsRentLamports' required: - lamports description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. title: NewIbanCheckoutArgsRent CardDataAdditionalVendorData: type: object properties: {} description: 'Optional non-PCI passthrough fields merged into the stored card vendorData. Base type is empty; tokenization providers extend it with their own fields.' title: CardDataAdditionalVendorData GetTotalsBodyRent: type: object properties: lamports: $ref: '#/components/schemas/GetTotalsBodyRentLamports' required: - lamports description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. title: GetTotalsBodyRent VenmoCheckoutResponse: type: object properties: paymentId: type: string description: The ID of the payment that was created. required: - paymentId title: VenmoCheckoutResponse CashAppCheckoutArgsRentLamports: oneOf: - type: string - type: number format: double title: CashAppCheckoutArgsRentLamports PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsPix1: type: array items: $ref: '#/components/schemas/FeeOption' title: PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsPix1 CoinflowBlockchain: type: string enum: - solana - eth - polygon - base - arbitrum - stellar - monad - tempo - user description: Coinflow Types * title: CoinflowBlockchain TokenCheckoutArgs: type: object properties: subtotal: $ref: '#/components/schemas/Subtotal' webhookInfo: $ref: '#/components/schemas/AnyObject' chargebackProtectionData: $ref: '#/components/schemas/CartClassOmitted' customerInfo: $ref: '#/components/schemas/CustomerInfo' settlementType: $ref: '#/components/schemas/SettlementType' rent: $ref: '#/components/schemas/TokenCheckoutArgsRent' description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. redemptionCheck: type: boolean description: (Solana only) If a transaction involved in the purchase, should payment be checked for redemption transactionData: $ref: '#/components/schemas/EvmTransactionData' authOnly: type: boolean description: 'Only authorize the purchase. This will not actually capture the payment.(default: false)' feePercentage: type: number format: double description: '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.' fixedFee: $ref: '#/components/schemas/Cents' jwtToken: type: string description: '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: $ref: '#/components/schemas/ThreeDsChallengePreference' destinationAuthKey: type: string description: '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.' customerUsdcTransferData: $ref: '#/components/schemas/CustomerUsdcTransferData' customerUsdcTransferDataV2: $ref: '#/components/schemas/CustomerUsdcTransferDataV2' stellarTransaction: type: string description: '(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.' userLocation: $ref: '#/components/schemas/IUserLocation' customPayInFees: $ref: '#/components/schemas/CustomPayInFeesConfig' overrideChargebackProtectionDecision: type: boolean doNotReviewChargebackProtection: type: boolean authentication3DS: $ref: '#/components/schemas/Authentication3DS' chargebackProtectionAccountType: $ref: '#/components/schemas/ChargebackProtectionAccountType' presentment: $ref: '#/components/schemas/Currency' accountFundingTransaction: $ref: '#/components/schemas/AccountFundingTransaction' statementDescriptor: type: string description: 'If the bank supports dynamic descriptors, this will appear on the customer''s statement.' token: type: string description: Token for the card to be used for the checkout. address: $ref: '#/components/schemas/TokenCheckoutArgsAddress' description: The address field is not needed here unless explicitly given instructions to do so. required: - subtotal - token title: TokenCheckoutArgs PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsApplePay: oneOf: - $ref: '#/components/schemas/CurrencyCents' - $ref: '#/components/schemas/PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsApplePay1' - $ref: '#/components/schemas/FeeDetail' title: PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsApplePay PixCheckoutArgsRentLamports: oneOf: - type: string - type: number format: double title: PixCheckoutArgsRentLamports SafeMintRedeem: type: object properties: waitForHash: type: boolean description: 'Whether the UI should wait for the transaction to be sent and the hash to be returned.' transaction: $ref: '#/components/schemas/SafeMintRedeemTransaction' description: Transaction to be called. type: $ref: '#/components/schemas/SafeMintRedeemType' nftContract: type: string required: - transaction - type description: '(EVM only) If your contract mints an NFT via a OpenZeppelin Safe Mint Call, then utilize this object. The contract mints the NFT to msg.sender (which is the Coinflow contract), the Coinflow contract picks up the SafeMint event, and fwd''s the NFT to the end user''s wallet.' title: SafeMintRedeem SavedVenmoCheckoutArgsRent: type: object properties: lamports: $ref: '#/components/schemas/SavedVenmoCheckoutArgsRentLamports' required: - lamports description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. title: SavedVenmoCheckoutArgsRent MerchantInitiatedSubscriptionTransactionArgs: type: object properties: customPayInFees: $ref: '#/components/schemas/CustomPayInFeesConfig' webhookInfo: $ref: '#/components/schemas/AnyObject' stellarTransaction: type: string description: '(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.' chargebackProtectionAccountType: $ref: '#/components/schemas/ChargebackProtectionAccountType' userLocation: $ref: '#/components/schemas/IUserLocation' overrideChargebackProtectionDecision: type: boolean doNotReviewChargebackProtection: type: boolean subscriptionPlanCode: type: string description: Specify if using Subscription Plans that are Merchant Initiated - otherwise must specify originalPaymentId. required: - subscriptionPlanCode title: MerchantInitiatedSubscriptionTransactionArgs PickGiftCardCartItemExcludeKeyofGiftCardCartItemListPriceItemClass: type: string enum: - giftCard title: PickGiftCardCartItemExcludeKeyofGiftCardCartItemListPriceItemClass NormalRedeem: type: object properties: waitForHash: type: boolean description: 'Whether the UI should wait for the transaction to be sent and the hash to be returned.' transaction: $ref: '#/components/schemas/NormalRedeemTransaction' description: Transaction to be called. required: - transaction description: '(EVM only) If your contract sends the item/service being purchased via a custom "receiver" field, then utilize this object. The coinflow contract calls the "to" contract, which transfers the NFT/item to the "receiver" address defined in the contract function arguments.' title: NormalRedeem IbanPaymentDetails: type: object properties: paymentId: type: string account: type: string sortCode: type: string expires: type: string amount: $ref: '#/components/schemas/CurrencyCents' address: $ref: '#/components/schemas/Pick_Address.Exclude_keyofAddress.state__' accountHolderName: type: string reference: type: string required: - paymentId - account - expires - amount - address - accountHolderName title: IbanPaymentDetails PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsInterac1: type: array items: $ref: '#/components/schemas/FeeOption' title: PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsInterac1 AnyObject: type: object properties: example: type: string title: AnyObject CryptoHeadlessCheckoutArgsRentLamports: oneOf: - type: string - type: number format: double title: CryptoHeadlessCheckoutArgsRentLamports NewVenmoCheckoutArgsVenmoOneOf1PhoneNumber: type: object properties: nationalNumber: type: string countryCode: type: string required: - nationalNumber - countryCode title: NewVenmoCheckoutArgsVenmoOneOf1PhoneNumber PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsCashApp1: type: array items: $ref: '#/components/schemas/FeeOption' title: PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsCashApp1 ZeroAuthorizationCheckoutResponse: type: object properties: paymentId: type: string description: The ID of the payment that was created. authorizationExpiration: type: string description: '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 zero-authorization or CIT transaction.' required: - paymentId - authorizationExpiration title: ZeroAuthorizationCheckoutResponse NewPayPalCheckoutArgs: type: object properties: subtotal: $ref: '#/components/schemas/Subtotal' webhookInfo: $ref: '#/components/schemas/AnyObject' chargebackProtectionData: $ref: '#/components/schemas/CartClassOmitted' customerInfo: $ref: '#/components/schemas/CustomerInfo' settlementType: $ref: '#/components/schemas/SettlementType' rent: $ref: '#/components/schemas/NewPayPalCheckoutArgsRent' description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. redemptionCheck: type: boolean description: (Solana only) If a transaction involved in the purchase, should payment be checked for redemption transactionData: $ref: '#/components/schemas/EvmTransactionData' authOnly: type: boolean description: 'Only authorize the purchase. This will not actually capture the payment.(default: false)' feePercentage: type: number format: double description: '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.' fixedFee: $ref: '#/components/schemas/Cents' jwtToken: type: string description: '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: $ref: '#/components/schemas/ThreeDsChallengePreference' destinationAuthKey: type: string description: '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.' customerUsdcTransferData: $ref: '#/components/schemas/CustomerUsdcTransferData' customerUsdcTransferDataV2: $ref: '#/components/schemas/CustomerUsdcTransferDataV2' stellarTransaction: type: string description: '(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.' userLocation: $ref: '#/components/schemas/IUserLocation' customPayInFees: $ref: '#/components/schemas/CustomPayInFeesConfig' overrideChargebackProtectionDecision: type: boolean doNotReviewChargebackProtection: type: boolean presentment: $ref: '#/components/schemas/Currency' returnUrl: type: string description: 'The URL to redirect the customer to after they approve the payment. If provided, cancelUrl must also be provided.' cancelUrl: type: string description: 'The URL to redirect the customer to if they cancel the payment. If provided, returnUrl must also be provided.' simulateAuthorizationFailure: type: boolean description: Sandbox Only. Will force the authorization of the payment to fail. simulateCaptureFailure: type: boolean description: Sandbox Only. Will force the capture of the payment to fail. simulateRefundFailure: type: boolean description: Sandbox Only. Will force the refund of the payment to fail. email: type: string description: Required if for a new customer paypal: $ref: '#/components/schemas/NewPayPalCheckoutArgsPaypal' description: The email or phone number tied to the PayPal account required: - subtotal - paypal title: NewPayPalCheckoutArgs google.payments.api.PaymentMethodTokenizationType: type: string enum: - PAYMENT_GATEWAY - DIRECT description: "Payment method tokenization type enum string.\n\nOptions:\n\n- `PAYMENT_GATEWAY`:\n Tokenize a payment response to be consumed or charged by a specified\n third-party gateway service.\n\n- `DIRECT`:\n Tokenize to be consumed/charged directly by the merchant." title: google.payments.api.PaymentMethodTokenizationType CheckoutResponse: type: object properties: paymentId: type: string description: The ID of the payment that was created. required: - paymentId title: CheckoutResponse SellerInfo: type: object properties: id: type: string description: Id of the seller email: type: - string - 'null' description: 'Email Example: lois.lane@dailyplanet.com' firstName: type: string description: 'First name Example: Lois' lastName: type: string description: 'Last name Example: Lois' dob: type: string description: 'Date of birth, formatted as YYYY-MM-DD. If only the year is known, use YYYY Pattern: ^\d{4}(-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]))?$' rawSellerData: $ref: '#/components/schemas/Record_string.any_' title: SellerInfo CustomerUsdcTransferDataV2: type: object properties: from: type: string to: type: string value: type: string validAfter: $ref: '#/components/schemas/CustomerUsdcTransferDataV2ValidAfter' validBefore: $ref: '#/components/schemas/CustomerUsdcTransferDataV2ValidBefore' nonce: type: string signature: type: string required: - from - to - value - validAfter - validBefore - nonce - signature description: '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.' title: CustomerUsdcTransferDataV2 DecentRedeem: type: object properties: waitForHash: type: boolean description: 'Whether the UI should wait for the transaction to be sent and the hash to be returned.' type: $ref: '#/components/schemas/DecentRedeemType' dstChainId: type: number format: double description: 'ID of the destination chain you will be using Find your chain ID here: https://chainlist.org/' dstToken: type: string description: Address on that chain of the token you will be receiving contractAddress: type: string description: The contract address which will be called on the destination chain contractData: type: string cost: $ref: '#/components/schemas/DecentRedeemCost' description: Amount of the token on the destination chain you will be receiving required: - type - dstChainId - dstToken - contractAddress - contractData - cost description: If your contract exists on a chain supported by Decent, pass this object in order to call it. title: DecentRedeem GetUsdcAuthorizationResponse: type: object properties: message: type: string description: EIP-712 message to sign messageData: $ref: '#/components/schemas/GetUsdcAuthorizationResponseMessageData' description: Structured message data for transparency required: - message - messageData description: Response for USDC authorization message title: GetUsdcAuthorizationResponse Currency: type: string enum: - 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 title: Currency SavedWireTokenCheckoutArgsRentLamports: oneOf: - type: string - type: number format: double title: SavedWireTokenCheckoutArgsRentLamports SavedPayPalCheckoutArgs: type: object properties: subtotal: $ref: '#/components/schemas/Subtotal' webhookInfo: $ref: '#/components/schemas/AnyObject' chargebackProtectionData: $ref: '#/components/schemas/CartClassOmitted' customerInfo: $ref: '#/components/schemas/CustomerInfo' settlementType: $ref: '#/components/schemas/SettlementType' rent: $ref: '#/components/schemas/SavedPayPalCheckoutArgsRent' description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. redemptionCheck: type: boolean description: (Solana only) If a transaction involved in the purchase, should payment be checked for redemption transactionData: $ref: '#/components/schemas/EvmTransactionData' authOnly: type: boolean description: 'Only authorize the purchase. This will not actually capture the payment.(default: false)' feePercentage: type: number format: double description: '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.' fixedFee: $ref: '#/components/schemas/Cents' jwtToken: type: string description: '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: $ref: '#/components/schemas/ThreeDsChallengePreference' destinationAuthKey: type: string description: '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.' customerUsdcTransferData: $ref: '#/components/schemas/CustomerUsdcTransferData' customerUsdcTransferDataV2: $ref: '#/components/schemas/CustomerUsdcTransferDataV2' stellarTransaction: type: string description: '(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.' userLocation: $ref: '#/components/schemas/IUserLocation' customPayInFees: $ref: '#/components/schemas/CustomPayInFeesConfig' overrideChargebackProtectionDecision: type: boolean doNotReviewChargebackProtection: type: boolean presentment: $ref: '#/components/schemas/Currency' returnUrl: type: string description: 'The URL to redirect the customer to after they approve the payment. If provided, cancelUrl must also be provided.' cancelUrl: type: string description: 'The URL to redirect the customer to if they cancel the payment. If provided, returnUrl must also be provided.' simulateAuthorizationFailure: type: boolean description: Sandbox Only. Will force the authorization of the payment to fail. simulateCaptureFailure: type: boolean description: Sandbox Only. Will force the capture of the payment to fail. simulateRefundFailure: type: boolean description: Sandbox Only. Will force the refund of the payment to fail. token: type: string description: The saved token of the PayPal account required: - subtotal - token title: SavedPayPalCheckoutArgs Pick_VerificationRequiredResponse.verification-or-verificationLink_: type: object properties: verification: $ref: '#/components/schemas/Verification' verificationLink: type: string description: Link which can be hosted in an iframe or redirect the user to complete verification. required: - verification description: From T, pick a set of properties whose keys are in the union K title: Pick_VerificationRequiredResponse.verification-or-verificationLink_ SavedVenmoCheckoutArgs: type: object properties: subtotal: $ref: '#/components/schemas/Subtotal' webhookInfo: $ref: '#/components/schemas/AnyObject' chargebackProtectionData: $ref: '#/components/schemas/CartClassOmitted' customerInfo: $ref: '#/components/schemas/CustomerInfo' settlementType: $ref: '#/components/schemas/SettlementType' rent: $ref: '#/components/schemas/SavedVenmoCheckoutArgsRent' description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. redemptionCheck: type: boolean description: (Solana only) If a transaction involved in the purchase, should payment be checked for redemption transactionData: $ref: '#/components/schemas/EvmTransactionData' authOnly: type: boolean description: 'Only authorize the purchase. This will not actually capture the payment.(default: false)' feePercentage: type: number format: double description: '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.' fixedFee: $ref: '#/components/schemas/Cents' jwtToken: type: string description: '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: $ref: '#/components/schemas/ThreeDsChallengePreference' destinationAuthKey: type: string description: '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.' customerUsdcTransferData: $ref: '#/components/schemas/CustomerUsdcTransferData' customerUsdcTransferDataV2: $ref: '#/components/schemas/CustomerUsdcTransferDataV2' stellarTransaction: type: string description: '(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.' userLocation: $ref: '#/components/schemas/IUserLocation' customPayInFees: $ref: '#/components/schemas/CustomPayInFeesConfig' overrideChargebackProtectionDecision: type: boolean doNotReviewChargebackProtection: type: boolean presentment: $ref: '#/components/schemas/Currency' returnUrl: type: string description: 'The URL to redirect the customer to after they approve the payment. If provided, cancelUrl must also be provided.' cancelUrl: type: string description: 'The URL to redirect the customer to if they cancel the payment. If provided, returnUrl must also be provided.' simulateAuthorizationFailure: type: boolean description: Sandbox Only. Will force the authorization of the payment to fail. simulateCaptureFailure: type: boolean description: Sandbox Only. Will force the capture of the payment to fail. simulateRefundFailure: type: boolean description: Sandbox Only. Will force the refund of the payment to fail. token: type: string description: The saved token of the Venmo account required: - subtotal - token title: SavedVenmoCheckoutArgs CartItemAddress: type: object properties: country: type: string description: 'Country code specified as a two letter code according to ISO 3166 Alpha-2 Between 2 and 2 characters Example: US Pattern: ^[A-Z]{2}$' state: type: string description: 'The state or province Example: PA' city: type: string description: 'The city or locality Example: Pittsburgh' street: type: string description: 'The street name Example: Baker St' postalCode: type: string description: The address postal code description: Address structure title: CartItemAddress GetCheckoutLinkArgs: type: object properties: email: type: string customerInfo: $ref: '#/components/schemas/CustomerInfo' webhookInfo: $ref: '#/components/schemas/GetCheckoutLinkArgsWebhookInfo' chargebackProtectionData: $ref: '#/components/schemas/CartClassOmitted' subtotal: $ref: '#/components/schemas/Subtotal' accountFundingTransaction: $ref: '#/components/schemas/AccountFundingTransaction' authOnly: type: boolean description: 'Only authorize the purchase. This will not actually capture the payment.(default: false)' allowedPaymentMethods: type: array items: $ref: '#/components/schemas/PaymentMethods' description: The payment methods displayed on the UI. If omitted, all available payment methods will be displayed. blockchain: $ref: '#/components/schemas/CoinflowBlockchain' presentment: $ref: '#/components/schemas/Currency' chargebackProtectionAccountType: $ref: '#/components/schemas/ChargebackProtectionAccountType' settlementType: $ref: '#/components/schemas/SettlementType' threeDsChallengePreference: $ref: '#/components/schemas/ThreeDsChallengePreference' planCode: type: string sessionKey: type: string isZeroAuthorization: type: boolean zeroAuthorizationConfig: $ref: '#/components/schemas/ZeroAuthorizationConfig' partialUsdcChecked: type: boolean description: 'If true, pre-checks the partial USDC payment checkbox when USDC balance is available. If false or undefined, maintains default behavior (unchecked).' deviceId: type: string description: "The DeviceID gotten from the Coinflow SDK:\n https://docs.coinflow.cash/guides/checkout/fraud-protection/chargeback-protection/implement-chargeback-protection#how-to-add-chargeback-protection" supportEmail: type: string description: Your company email address that the customer can contact. origins: type: array items: type: string description: 'If rendering the Coinflow component within multiple nested iframes, all ancestors in the chain must be provided as a comma-separated list. Example: Primary origin that will be interacting with the Coinflow iFrame: foo.com Subsequent origins that will render foo.com: bar.com The origin array would then be: [https://foo.com,https://bar.com]' depositAmounts: type: array items: type: number format: double description: 'Custom preset deposit amounts (in dollars) to display in the AmountSelector. Only the first 3 values are used. Defaults to [10, 25, 50] if not provided.' theme: $ref: '#/components/schemas/MerchantTheme' customPayInFees: $ref: '#/components/schemas/CustomPayInFeesConfig' feePercentage: type: number format: double description: '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.' fixedFee: $ref: '#/components/schemas/Cents' rent: $ref: '#/components/schemas/GetCheckoutLinkArgsRent' description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. transactionData: $ref: '#/components/schemas/EvmTransactionData' stellarTransaction: type: string description: '(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.' authentication3DS: $ref: '#/components/schemas/Authentication3DS' redemptionCheck: type: boolean description: (Solana only) If a transaction involved in the purchase, should payment be checked for redemption destinationAuthKey: type: string description: '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.' customerUsdcTransferData: $ref: '#/components/schemas/CustomerUsdcTransferData' customerUsdcTransferDataV2: $ref: '#/components/schemas/CustomerUsdcTransferDataV2' userLocation: $ref: '#/components/schemas/IUserLocation' overrideChargebackProtectionDecision: type: boolean doNotReviewChargebackProtection: type: boolean destination: type: string description: 'If utilizing USDC settlement to addresses other than your main merchant settlement address. Utilize this destination which is the address to send the USDC to.' idempotencyKey: type: string description: '(Optional) Idemptotency Key to pass to prevent multiple purchases with the same checkout link. If not passed, a random one will be generated for you automatically.' standaloneLinkConfig: $ref: '#/components/schemas/StandaloneLinkConfig' statementDescriptor: type: string description: 'If custom statement descriptors are enabled for your merchant account and the bank supports dynamic descriptors, this will appear on the customer''s statement.' title: GetCheckoutLinkArgs NewIbanCheckoutArgs: type: object properties: customPayInFees: $ref: '#/components/schemas/CustomPayInFeesConfig' customerInfo: $ref: '#/components/schemas/CustomerInfo' webhookInfo: $ref: '#/components/schemas/AnyObject' feePercentage: type: number format: double description: '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.' fixedFee: $ref: '#/components/schemas/Cents' subtotal: $ref: '#/components/schemas/Subtotal' jwtToken: type: string description: '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.' rent: $ref: '#/components/schemas/NewIbanCheckoutArgsRent' description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. transactionData: $ref: '#/components/schemas/EvmTransactionData' stellarTransaction: type: string description: '(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.' settlementType: $ref: '#/components/schemas/SettlementType' destinationAuthKey: type: string description: '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.' customerUsdcTransferData: $ref: '#/components/schemas/CustomerUsdcTransferData' customerUsdcTransferDataV2: $ref: '#/components/schemas/CustomerUsdcTransferDataV2' userLocation: $ref: '#/components/schemas/IUserLocation' overrideChargebackProtectionDecision: type: boolean doNotReviewChargebackProtection: type: boolean merchantId: type: string description: Merchant Identifier data: $ref: '#/components/schemas/IbanData' required: - subtotal - merchantId - data title: NewIbanCheckoutArgs TokenRedeem: type: object properties: waitForHash: type: boolean description: 'Whether the UI should wait for the transaction to be sent and the hash to be returned.' type: $ref: '#/components/schemas/TokenRedeemType' destination: type: string required: - type - destination title: TokenRedeem NewVenmoCheckoutArgs: type: object properties: subtotal: $ref: '#/components/schemas/Subtotal' webhookInfo: $ref: '#/components/schemas/AnyObject' chargebackProtectionData: $ref: '#/components/schemas/CartClassOmitted' customerInfo: $ref: '#/components/schemas/CustomerInfo' settlementType: $ref: '#/components/schemas/SettlementType' rent: $ref: '#/components/schemas/NewVenmoCheckoutArgsRent' description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. redemptionCheck: type: boolean description: (Solana only) If a transaction involved in the purchase, should payment be checked for redemption transactionData: $ref: '#/components/schemas/EvmTransactionData' authOnly: type: boolean description: 'Only authorize the purchase. This will not actually capture the payment.(default: false)' feePercentage: type: number format: double description: '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.' fixedFee: $ref: '#/components/schemas/Cents' jwtToken: type: string description: '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: $ref: '#/components/schemas/ThreeDsChallengePreference' destinationAuthKey: type: string description: '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.' customerUsdcTransferData: $ref: '#/components/schemas/CustomerUsdcTransferData' customerUsdcTransferDataV2: $ref: '#/components/schemas/CustomerUsdcTransferDataV2' stellarTransaction: type: string description: '(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.' userLocation: $ref: '#/components/schemas/IUserLocation' customPayInFees: $ref: '#/components/schemas/CustomPayInFeesConfig' overrideChargebackProtectionDecision: type: boolean doNotReviewChargebackProtection: type: boolean presentment: $ref: '#/components/schemas/Currency' returnUrl: type: string description: 'The URL to redirect the customer to after they approve the payment. If provided, cancelUrl must also be provided.' cancelUrl: type: string description: 'The URL to redirect the customer to if they cancel the payment. If provided, returnUrl must also be provided.' simulateAuthorizationFailure: type: boolean description: Sandbox Only. Will force the authorization of the payment to fail. simulateCaptureFailure: type: boolean description: Sandbox Only. Will force the capture of the payment to fail. simulateRefundFailure: type: boolean description: Sandbox Only. Will force the refund of the payment to fail. email: type: string description: Required if for a new customer venmo: $ref: '#/components/schemas/NewVenmoCheckoutArgsVenmo' description: The email or phone number tied to the Venmo account required: - subtotal - venmo title: NewVenmoCheckoutArgs RecipientAftInfo: type: object properties: firstName: type: string lastName: type: string address1: type: string city: type: string postalCode: type: string state: type: string countryCode: type: string dateOfBirth: type: string description: Recipients Date Of Birth in YYYMMDD format. phoneNumber: type: string documentReference: type: string required: - firstName - lastName - address1 - city - postalCode - countryCode title: RecipientAftInfo SafeMintRedeemType: type: string enum: - safeMint title: SafeMintRedeemType FeeDetail: type: object properties: fee: $ref: '#/components/schemas/CurrencyCents' fxFee: $ref: '#/components/schemas/CurrencyCents' required: - fee - fxFee title: FeeDetail CustomerInfo: oneOf: - $ref: '#/components/schemas/SplitNameCustomerInfo' - $ref: '#/components/schemas/NameCustomerInfo' title: CustomerInfo NewPayPalCheckoutArgsRent: type: object properties: lamports: $ref: '#/components/schemas/NewPayPalCheckoutArgsRentLamports' required: - lamports description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. title: NewPayPalCheckoutArgsRent ConcludeChallenge: type: object properties: transactionId: type: string required: - transactionId title: ConcludeChallenge Checkout_GetCheckoutLink_Response_200: type: object properties: link: type: string required: - link title: Checkout_GetCheckoutLink_Response_200 CryptoCartItemUnitPrice: type: object properties: currency: type: string description: 'Currency specified as a three letter code according to ISO 4217 Example: USD' valueInCurrency: type: number format: double description: 'The amount in the currency, which is specified in the `currency` property Example: 90' required: - currency - valueInCurrency description: The price per 1 unit title: CryptoCartItemUnitPrice google.payments.api.Address: type: object properties: name: type: string description: Name of the recipient at this address. address1: type: string default: '' description: 'The first line of the address. Will be set to empty string if the address does not have a first line.' address2: type: string default: '' description: 'The second line of the address. Will be set to empty string if the address does not have a second line.' address3: type: string default: '' description: 'The third line of the address. Will be set to empty string if the address does not have a third line.' locality: type: string description: The locality (e.g. city or town). administrativeArea: type: string description: The administrative area (e.g. state or province). countryCode: type: string description: The two-letter ISO-3166 country code. postalCode: type: string description: 'The postal code (also known in some places as ZIP code). Note: some regions do not have postal codes. In those cases this field will be set to an empty string.' sortingCode: type: string description: 'The sorting code. Note: some regions do not have sorting codes. In those cases this field will be set to an empty string.' phoneNumber: type: string description: 'The phone number. This field will only be present if the caller requested that a phone number be returned.' required: - locality - administrativeArea - countryCode - postalCode description: Description of a user's address. title: google.payments.api.Address CardOnFileCheckoutArgsWithOriginalPaymentIdRentLamports: oneOf: - type: string - type: number format: double title: CardOnFileCheckoutArgsWithOriginalPaymentIdRentLamports CustomerUsdcTransferData: type: object properties: from: type: string to: type: string value: type: string validAfter: $ref: '#/components/schemas/CustomerUsdcTransferDataValidAfter' validBefore: $ref: '#/components/schemas/CustomerUsdcTransferDataValidBefore' nonce: type: string v: type: number format: double r: type: string s: type: string required: - from - to - value - validAfter - validBefore - nonce - v - r - s description: 'Customer signed USDC transferWithAuthorization data for dual-source payments Used for combined USDC + Credit Card payments on EVM chains' title: CustomerUsdcTransferData google.payments.api.PaymentMethodType: type: string enum: - CARD - PAYPAL description: "Payment method type enum string.\n\nOptions:\n\n- `CARD`:\n CARD payment method.\n\n Note that the payment method information that may be returned to you\n or your processor for a credit card transaction is meant to be used\n only once. If you need to charge the user again you must call the\n APIs to obtain new payment credentials.\n\n Also note that when we transfer information like PAN (personal\n account number) to either you or your gateway/processor, they may not\n correspond to the user's physical card. For support purposes, please\n use user's card info returned in [[CardInfo|`CardInfo`]] instead.\n\n- `PAYPAL`:\n PAYPAL payment method." title: google.payments.api.PaymentMethodType TransactionHistoryItem: type: object properties: txType: type: string chain: type: string paymentAmount: type: string paymentToken: type: string to: type: string from: type: string registryContract: type: string assetID: type: string txTime: type: string blockNumber: type: number format: double txHash: type: string required: - txType - chain - paymentAmount - paymentToken - to - from - registryContract - assetID - txTime - blockNumber - txHash title: TransactionHistoryItem CardOnFileCheckoutArgs: oneOf: - $ref: '#/components/schemas/CardOnFileCheckoutArgsWithOriginalPaymentId' - $ref: '#/components/schemas/CardOnFileCheckoutArgsWithToken' title: CardOnFileCheckoutArgs RecipientInfo: type: object properties: accountId: type: string description: The ID of the account that will receive the purchased goods dob: type: string description: 'Date of birth, formatted as YYYY-MM-DD. If only the year is known, use YYYY Pattern: ^\d{4}(-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]))?$' email: type: - string - 'null' description: 'Email Example: lois.lane@dailyplanet.com' firstName: type: string description: 'First name Example: Lois' gender: type: string description: 'Gender Example: female' lastName: type: string description: 'Last name Example: Lois' message: type: string description: The message that the recipient will receive phoneInfo: $ref: '#/components/schemas/PhoneInfo' shippingAddress: $ref: '#/components/schemas/CartItemAddress' wallet: $ref: '#/components/schemas/RecipientInfoWallet' description: The crypto wallet that will receive the funds title: RecipientInfo CustomerUsdcTransferDataValidAfter: oneOf: - type: string - type: number format: double title: CustomerUsdcTransferDataValidAfter SavedTokenCheckoutArgs: type: object properties: customPayInFees: $ref: '#/components/schemas/CustomPayInFeesConfig' customerInfo: $ref: '#/components/schemas/CustomerInfo' webhookInfo: $ref: '#/components/schemas/AnyObject' feePercentage: type: number format: double description: '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.' fixedFee: $ref: '#/components/schemas/Cents' subtotal: $ref: '#/components/schemas/Subtotal' jwtToken: type: string description: '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.' rent: $ref: '#/components/schemas/SavedTokenCheckoutArgsRent' description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. transactionData: $ref: '#/components/schemas/EvmTransactionData' stellarTransaction: type: string description: '(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.' settlementType: $ref: '#/components/schemas/SettlementType' destinationAuthKey: type: string description: '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.' customerUsdcTransferData: $ref: '#/components/schemas/CustomerUsdcTransferData' customerUsdcTransferDataV2: $ref: '#/components/schemas/CustomerUsdcTransferDataV2' userLocation: $ref: '#/components/schemas/IUserLocation' overrideChargebackProtectionDecision: type: boolean doNotReviewChargebackProtection: type: boolean merchantId: type: string description: Merchant Identifier token: type: string description: Token for the account to be used for checkout required: - subtotal - merchantId - token title: SavedTokenCheckoutArgs PickGiftCardCartItemExcludeKeyofGiftCardCartItemListPriceSellingPrice: type: object properties: currency: type: string valueInCurrency: type: number format: double required: - currency - valueInCurrency title: PickGiftCardCartItemExcludeKeyofGiftCardCartItemListPriceSellingPrice PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsAch1: type: array items: $ref: '#/components/schemas/FeeOption' title: PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsAch1 PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsInterac: oneOf: - $ref: '#/components/schemas/CurrencyCents' - $ref: '#/components/schemas/PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsInterac1' - $ref: '#/components/schemas/FeeDetail' title: PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsInterac CustomerUsdcTransferDataV2ValidAfter: oneOf: - type: string - type: number format: double title: CustomerUsdcTransferDataV2ValidAfter PixCheckoutArgsRent: type: object properties: lamports: $ref: '#/components/schemas/PixCheckoutArgsRentLamports' required: - lamports description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. title: PixCheckoutArgsRent AchCheckoutArgsRent: type: object properties: lamports: $ref: '#/components/schemas/AchCheckoutArgsRentLamports' required: - lamports description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. title: AchCheckoutArgsRent NewWireCheckoutArgs: type: object properties: customPayInFees: $ref: '#/components/schemas/CustomPayInFeesConfig' customerInfo: $ref: '#/components/schemas/CustomerInfo' webhookInfo: $ref: '#/components/schemas/AnyObject' feePercentage: type: number format: double description: '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.' fixedFee: $ref: '#/components/schemas/Cents' subtotal: $ref: '#/components/schemas/Subtotal' jwtToken: type: string description: '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.' rent: $ref: '#/components/schemas/NewWireCheckoutArgsRent' description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. transactionData: $ref: '#/components/schemas/EvmTransactionData' stellarTransaction: type: string description: '(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.' settlementType: $ref: '#/components/schemas/SettlementType' destinationAuthKey: type: string description: '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.' customerUsdcTransferData: $ref: '#/components/schemas/CustomerUsdcTransferData' customerUsdcTransferDataV2: $ref: '#/components/schemas/CustomerUsdcTransferDataV2' userLocation: $ref: '#/components/schemas/IUserLocation' overrideChargebackProtectionDecision: type: boolean doNotReviewChargebackProtection: type: boolean merchantId: type: string description: Merchant Identifier data: $ref: '#/components/schemas/AddUSWireBankAccountData' required: - subtotal - merchantId - data title: NewWireCheckoutArgs VerificationVendor: type: string enum: - middesk - sumsub - sumsub_docv - persona - persona_kyb title: VerificationVendor Pick_Address.Exclude_keyofAddress.state__: type: object properties: country: type: string city: type: string zip: type: string address1: type: string address2: type: string required: - country - city - zip - address1 description: From T, pick a set of properties whose keys are in the union K title: Pick_Address.Exclude_keyofAddress.state__ google.payments.api.OfferData: type: object properties: redemptionCodes: type: array items: type: string description: Redemption codes of the offers applied by the user. required: - redemptionCodes description: Definition for each offer to be applied to this payment request. title: google.payments.api.OfferData PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsPaypal1: type: array items: $ref: '#/components/schemas/FeeOption' title: PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsPaypal1 TokenRedeemType: type: string enum: - token title: TokenRedeemType PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsCashApp: oneOf: - $ref: '#/components/schemas/CurrencyCents' - $ref: '#/components/schemas/PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsCashApp1' - $ref: '#/components/schemas/FeeDetail' title: PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsCashApp SafeMintRedeemTransaction: type: object properties: data: type: string description: 'The data to call this contract with, HEX encoded. The coinflow contract calls the "to" contract, contract pulls USDC from msg.sender, and transfers the NFT/item to the "receiver" address defined in the contract function arguments.' to: type: string description: The merchant's whitelisted contract required: - data - to description: Transaction to be called. title: SafeMintRedeemTransaction KnownTokenIdRedeem: type: object properties: waitForHash: type: boolean description: 'Whether the UI should wait for the transaction to be sent and the hash to be returned.' transaction: $ref: '#/components/schemas/KnownTokenIdRedeemTransaction' description: Transaction to be called. nftContract: type: string description: The address of the Nft's Contract nftId: type: string description: The ID of the NFT being purchased. Will be forwarded by the Coinflow contract to the customer's wallet. required: - transaction - nftContract - nftId description: '(EVM only) If your know the ID of the NFT being purchased, then utilize this object. The contract transfers the NFT to msg.sender (which is the Coinflow contract), the Coinflow contract fwd''s the NFT to the end user''s wallet.' title: KnownTokenIdRedeem CustomerUsdcTransferDataV2ValidBefore: oneOf: - type: string - type: number format: double title: CustomerUsdcTransferDataV2ValidBefore google.payments.api.CardNetwork: type: string enum: - AMEX - DISCOVER - ELECTRON - ELO - ELO_DEBIT - INTERAC - JCB - MAESTRO - MASTERCARD - VISA description: "Card network enum string.\n\nOptions:\n\n- `AMEX`:\n American Express card network.\n\n- `DISCOVER`:\n Discover card network.\n\n- `ELECTRON`:\n Visa's Electron card network.\n\n Note that this option can only be set when\n [[TransactionInfo.countryCode|`TransactionInfo.countryCode`]] is set\n to `\"BR\"`, and\n [[CardParameters.allowedCardNetworks|`CardParameters.allowedCardNetworks`]]\n must also contain [[CardNetwork|`VISA`]]\n\n For processing purposes, you should use this as an indication that\n the card must be processed through the Electron debit network.\n\n- `ELO`:\n Elo card network.\n\n Note that this option can only be set when\n [[TransactionInfo.countryCode|`TransactionInfo.countryCode`]] is set\n to `\"BR\"`.\n\n- `ELO_DEBIT`:\n Elo's debit network rail.\n\n Note that this option can only be set when\n [[TransactionInfo.countryCode|`TransactionInfo.countryCode`]] is set\n to\n `\"BR\"`, and\n [[CardParameters.allowedCardNetworks|`CardParameters.allowedCardNetworks`]]\n must also contain [[CardNetwork|`ELO`]]\n\n For processing purposes, you should use this as an indication that\n the card must be processed through the ELO debit network.\n\n- `INTERAC`:\n Interac card network.\n\n- `JCB`:\n JCB card network.\n\n- `MAESTRO`:\n Maestro card network.\n\n Note that this option can only be set when\n [[TransactionInfo.countryCode|`TransactionInfo.countryCode`]] is set\n to `\"BR\"`, and\n [[CardParameters.allowedCardNetworks|`CardParameters.allowedCardNetworks`]]\n must also contain [[CardNetwork|`MASTERCARD`]]\n\n For processing purposes, you should use this as an indication that\n the card must be processed through the Maestro debit network.\n\n- `MASTERCARD`:\n Mastercard card network.\n\n- `VISA`:\n Visa card network." title: google.payments.api.CardNetwork AccountFundingTransaction: type: object properties: recipientAftInfo: $ref: '#/components/schemas/RecipientAftInfo' description: Used for Account Funding Transactions title: AccountFundingTransaction ApplePayCheckoutArgsRent: type: object properties: lamports: $ref: '#/components/schemas/ApplePayCheckoutArgsRentLamports' required: - lamports description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. title: ApplePayCheckoutArgsRent CardData: type: object properties: cardToken: type: string description: This is the card token received from the `CoinflowCardNumberInput` expYear: type: string description: 'The Cards Expiration Year ex: 2026 => 26' expMonth: type: string description: 'The Cards Expiration Month ex: January => 01 December => 12' additionalVendorData: $ref: '#/components/schemas/CardDataAdditionalVendorData' description: 'Optional non-PCI passthrough fields merged into the stored card vendorData. Base type is empty; tokenization providers extend it with their own fields.' email: type: string businessName: type: string firstName: type: string lastName: type: string address1: type: string city: type: string zip: type: string state: type: string country: type: string required: - cardToken - expYear - expMonth - email - firstName - lastName - address1 - city - country title: CardData ZeroAuthorizationCheckoutArgsNewCardWithoutReason: type: object properties: customPayInFees: $ref: '#/components/schemas/CustomPayInFeesConfig' customerInfo: $ref: '#/components/schemas/CustomerInfo' webhookInfo: $ref: '#/components/schemas/AnyObject' statementDescriptor: type: string description: 'If the bank supports dynamic descriptors, this will appear on the customer''s statement.' stellarTransaction: type: string description: '(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.' authentication3DS: $ref: '#/components/schemas/Authentication3DS' chargebackProtectionAccountType: $ref: '#/components/schemas/ChargebackProtectionAccountType' threeDsChallengePreference: $ref: '#/components/schemas/ThreeDsChallengePreference' userLocation: $ref: '#/components/schemas/IUserLocation' overrideChargebackProtectionDecision: type: boolean doNotReviewChargebackProtection: type: boolean card: $ref: '#/components/schemas/ZeroAuthorizationCheckoutArgsNewCardWithoutReasonCard' required: - card title: ZeroAuthorizationCheckoutArgsNewCardWithoutReason Device3DSInfo: type: object properties: colorDepth: type: number format: double screenHeight: type: number format: double screenWidth: type: number format: double timeZone: type: number format: double versionInfo: type: array items: $ref: '#/components/schemas/VersionInfo' required: - colorDepth - screenHeight - screenWidth - timeZone title: Device3DSInfo AchCheckoutArgsRentLamports: oneOf: - type: string - type: number format: double title: AchCheckoutArgsRentLamports KnownTokenIdRedeemTransaction: type: object properties: data: type: string description: 'The data to call this contract with, HEX encoded. The coinflow contract calls the "to" contract, contract pulls USDC from msg.sender, and transfers the NFT/item to the "receiver" address defined in the contract function arguments.' to: type: string description: The merchant's whitelisted contract required: - data - to description: Transaction to be called. title: KnownTokenIdRedeemTransaction TokenCheckoutArgsRentLamports: oneOf: - type: string - type: number format: double title: TokenCheckoutArgsRentLamports CardCheckoutArgsCard: oneOf: - $ref: '#/components/schemas/CardData' - $ref: '#/components/schemas/CardDataWithoutAddress' description: 'Credit card information. Always pass address unless explicitly told that you may not' title: CardCheckoutArgsCard SavedTokenCheckoutArgsRent: type: object properties: lamports: $ref: '#/components/schemas/SavedTokenCheckoutArgsRentLamports' required: - lamports description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. title: SavedTokenCheckoutArgsRent RecipientInfoWalletCustodialType: type: string enum: - custodial - nonCustodial - unknown description: 'The type of the wallet Allowed values: custodial, nonCustodial, unknown Example: custodial' title: RecipientInfoWalletCustodialType VerificationStatus: type: string enum: - pending - partial-approval - approved - rejected - expired title: VerificationStatus Blockchain: type: string enum: - solana - eth - polygon - base - user - arbitrum - stellar - monad - tempo title: Blockchain ReturnedTokenIdRedeemTransaction: type: object properties: data: type: string description: 'The data to call this contract with, HEX encoded. The coinflow contract calls the "to" contract, contract pulls USDC from msg.sender, and transfers the NFT/item to the "receiver" address defined in the contract function arguments.' to: type: string description: The merchant's whitelisted contract required: - data - to description: Transaction to be called. title: ReturnedTokenIdRedeemTransaction MerchantInitiatedStandardTransactionArgsRentLamports: oneOf: - type: string - type: number format: double title: MerchantInitiatedStandardTransactionArgsRentLamports AdditionalVerification: type: object properties: name: type: string link: type: string reference: type: string vendor: $ref: '#/components/schemas/VerificationVendor' sessionToken: type: string required: - name - link - reference - vendor title: AdditionalVerification NewWireCheckoutArgsRentLamports: oneOf: - type: string - type: number format: double title: NewWireCheckoutArgsRentLamports ApplePayPaymentTokenPaymentDataHeader: type: object properties: transactionId: type: string ephemeralPublicKey: type: string publicKeyHash: type: string required: - transactionId - ephemeralPublicKey - publicKeyHash title: ApplePayPaymentTokenPaymentDataHeader CapturePaymentRequestRent: type: object properties: lamports: $ref: '#/components/schemas/CapturePaymentRequestRentLamports' required: - lamports description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. title: CapturePaymentRequestRent PixCheckoutArgs: type: object properties: customPayInFees: $ref: '#/components/schemas/CustomPayInFeesConfig' customerInfo: $ref: '#/components/schemas/CustomerInfo' webhookInfo: $ref: '#/components/schemas/AnyObject' feePercentage: type: number format: double description: '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.' fixedFee: $ref: '#/components/schemas/Cents' subtotal: $ref: '#/components/schemas/Subtotal' jwtToken: type: string description: '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.' rent: $ref: '#/components/schemas/PixCheckoutArgsRent' description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. transactionData: $ref: '#/components/schemas/EvmTransactionData' stellarTransaction: type: string description: '(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.' settlementType: $ref: '#/components/schemas/SettlementType' destinationAuthKey: type: string description: '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.' customerUsdcTransferData: $ref: '#/components/schemas/CustomerUsdcTransferData' customerUsdcTransferDataV2: $ref: '#/components/schemas/CustomerUsdcTransferDataV2' userLocation: $ref: '#/components/schemas/IUserLocation' overrideChargebackProtectionDecision: type: boolean doNotReviewChargebackProtection: type: boolean email: type: string merchantId: type: string description: Merchant Identifier required: - subtotal - email - merchantId title: PixCheckoutArgs PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsCredits1: type: array items: $ref: '#/components/schemas/FeeOption' title: PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsCredits1 ApplePayPayment: type: object properties: token: $ref: '#/components/schemas/ApplePayPaymentToken' billingContact: $ref: '#/components/schemas/ApplePayBillingContact' shippingContact: $ref: '#/components/schemas/Pick_ApplePayJS.ApplePayPaymentContact.emailAddress_' decrypted: $ref: '#/components/schemas/DecryptedApplePayToken' required: - token - billingContact description: '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' title: ApplePayPayment AddUSWireBankAccountData: type: object properties: account_number: type: string description: Must be the raw bank account number, not a Plaid tokenized number. alias: type: string email: type: string firstName: type: string lastName: type: string address1: type: string address2: type: string city: type: string state: type: string zip: type: string country: type: string businessName: type: string plaidAccountId: type: string plaidAccessToken: type: string plaidAccountType: type: string plaidAccountSubtype: type: string rtpEligible: type: boolean isTokenized: type: boolean wireRoutingNumber: type: string required: - account_number - alias - email - firstName - lastName - address1 - city - state - zip - wireRoutingNumber title: AddUSWireBankAccountData TotalsResponse: type: object properties: subtotal: $ref: '#/components/schemas/CurrencyCents' creditCardFees: $ref: '#/components/schemas/CurrencyCents' chargebackProtectionFees: $ref: '#/components/schemas/CurrencyCents' gasFees: $ref: '#/components/schemas/CurrencyCents' fxFees: $ref: '#/components/schemas/CurrencyCents' networkFees: $ref: '#/components/schemas/CurrencyCents' payInFees: $ref: '#/components/schemas/CurrencyCents' total: $ref: '#/components/schemas/CurrencyCents' reserve: $ref: '#/components/schemas/CurrencyCents' merchantPaidCreditCardFees: $ref: '#/components/schemas/CurrencyCents' merchantPaidChargebackProtectionFees: $ref: '#/components/schemas/CurrencyCents' merchantPaidGasFees: $ref: '#/components/schemas/CurrencyCents' merchantPaidFxFees: $ref: '#/components/schemas/CurrencyCents' merchantPaidNetworkFees: $ref: '#/components/schemas/CurrencyCents' invoicedCreditCardFees: $ref: '#/components/schemas/CurrencyCents' invoicedChargebackProtectionFees: $ref: '#/components/schemas/CurrencyCents' invoicedGasFees: $ref: '#/components/schemas/CurrencyCents' invoicedFxFees: $ref: '#/components/schemas/CurrencyCents' invoicedNetworkFees: $ref: '#/components/schemas/CurrencyCents' required: - subtotal - creditCardFees - chargebackProtectionFees - gasFees - fxFees - total title: TotalsResponse NewPayPalCheckoutArgsRentLamports: oneOf: - type: string - type: number format: double title: NewPayPalCheckoutArgsRentLamports PaymentMethods: type: string enum: - card - ach - fasterPayments - sepa - pix - usdc - googlePay - applePay - credits - crypto - wire - cashApp - apa - paypal - venmo - interac title: PaymentMethods PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsSepa1: type: array items: $ref: '#/components/schemas/FeeOption' title: PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsSepa1 ZeroAuthorizationConfig: oneOf: - $ref: '#/components/schemas/ZeroAuthSavedPaymentMethods' - $ref: '#/components/schemas/ZeroAuthVerifyCard' description: 'Configuration for zero authorization flow. The presence of this object indicates the checkout is in zero auth mode. Two mutually exclusive modes: - Saved payment methods: `{ disableSavedPaymentMethods: boolean }` - show or hide saved methods - Verify card: `{ cardToken: "token" }` - verify a specific saved card' title: ZeroAuthorizationConfig GetCheckoutLinkArgsWebhookInfo: type: object properties: {} title: GetCheckoutLinkArgsWebhookInfo ApaCredentialType.EMAIL: type: string enum: - EMAIL title: ApaCredentialType.EMAIL ReturnedTokenIdRedeemType: type: string enum: - returned title: ReturnedTokenIdRedeemType CustomPayInFeeValue0: type: object properties: cents: type: number format: double currency: $ref: '#/components/schemas/Currency' percent: type: - number - 'null' format: double isFixed: type: boolean required: - cents - currency - percent - isFixed title: CustomPayInFeeValue0 MerchantInitiatedStandardTransactionArgsRent: type: object properties: lamports: $ref: '#/components/schemas/MerchantInitiatedStandardTransactionArgsRentLamports' required: - lamports description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. title: MerchantInitiatedStandardTransactionArgsRent CardCheckoutArgsRentLamports: oneOf: - type: string - type: number format: double title: CardCheckoutArgsRentLamports RevalidateCVVFields: type: object properties: message: type: string reason: type: string required: - message - reason title: RevalidateCVVFields CustomPayInFeeValue1: type: object properties: cents: type: - number - 'null' format: double currency: type: - number - 'null' format: double percent: type: number format: double isFixed: type: boolean required: - cents - currency - percent - isFixed title: CustomPayInFeeValue1 NewIbanCheckoutArgsRentLamports: oneOf: - type: string - type: number format: double title: NewIbanCheckoutArgsRentLamports ApplePayBillingContact: type: object properties: givenName: type: string description: The contact's given name. familyName: type: string description: The contact's family name. addressLines: type: array items: type: string description: The street portion of the address for the contact. locality: type: string description: The city for the contact. country: type: string description: The name of the country for the contact. emailAddress: type: string description: An email address for the contact. postalCode: type: string description: The zip code or postal code, where applicable, for the contact. administrativeArea: type: string description: The state for the contact. subAdministrativeArea: type: string description: The subadministrative area (such as a county or other region) in a postal address. countryCode: type: string description: The contact’s two-letter ISO 3166 country code. required: - givenName - familyName - addressLines - locality title: ApplePayBillingContact External3DSInfo: type: object properties: transactionId: type: string cavv: type: string eci: type: string dsTransactionId: type: string acsTransactionId: type: string version: type: string required: - transactionId - cavv - eci - dsTransactionId - acsTransactionId - version description: 'External 3DS info, if provided must call the endpoint with API key or checkout JWT.' title: External3DSInfo ThreeDsChallengePreference: type: string enum: - NoPreference - Frictionless - Challenge title: ThreeDsChallengePreference SettlementType: type: string enum: - Credits - USDC title: SettlementType InteracCheckoutResponse: type: object properties: paymentId: type: string description: The ID of the payment that was created. email: type: string description: The email the Interac e-Transfer request was sent to, if applicable. phone: type: string description: The phone number the Interac e-Transfer request was sent to, if applicable. required: - paymentId title: InteracCheckoutResponse ZeroAuthSavedPaymentMethods: type: object properties: disableSavedPaymentMethods: type: boolean required: - disableSavedPaymentMethods description: Configuration for zero authorization flow - controls saved payment method visibility. title: ZeroAuthSavedPaymentMethods SavedPayPalCheckoutArgsRentLamports: oneOf: - type: string - type: number format: double title: SavedPayPalCheckoutArgsRentLamports CartClassOmitted: type: array items: $ref: '#/components/schemas/CartItemClassOmitted' description: Cart item details required for Coinflow Chargeback Protection. Required if the merchant uses chargeback protection. title: CartClassOmitted google.payments.api.PaymentMethodTokenizationData: type: object properties: type: $ref: '#/components/schemas/google.payments.api.PaymentMethodTokenizationType' token: type: string description: 'The generated payment method token. The contents of this token and how it should be used will depend on the selected [[PaymentMethodTokenizationSpecification.type|`PaymentMethodTokenizationSpecification.type`]].' required: - type - token description: Tokenization data for the payment method. title: google.payments.api.PaymentMethodTokenizationData CashAppCheckoutArgsRent: type: object properties: lamports: $ref: '#/components/schemas/CashAppCheckoutArgsRentLamports' required: - lamports description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. title: CashAppCheckoutArgsRent MerchantInitiatedTransactionArgs: oneOf: - $ref: '#/components/schemas/MerchantInitiatedStandardTransactionArgs' - $ref: '#/components/schemas/MerchantInitiatedSubscriptionTransactionArgs' title: MerchantInitiatedTransactionArgs TokenCheckoutArgsAddress: type: object properties: country: type: string state: type: string zip: type: string city: type: string address1: type: string required: - country - city - address1 description: The address field is not needed here unless explicitly given instructions to do so. title: TokenCheckoutArgsAddress MoneyTopUpCartItem: type: object properties: itemClass: $ref: '#/components/schemas/MoneyTopUpCartItemItemClass' description: 'Denotes the cart item class. The item schema is chosen based on this value. Allowed value: moneyTopUp Example: moneyTopUp' id: type: string description: 'The cart items''s unique ID Example: 5de33332-546a-4171-8988-2a43d2bfe9c6' rawProductData: $ref: '#/components/schemas/Record_string.any_' sellingPrice: $ref: '#/components/schemas/CurrencyAmount' recipientInfo: $ref: '#/components/schemas/RecipientInfo' topUpAmount: $ref: '#/components/schemas/CurrencyAmount' quantity: type: number format: double description: 'Quantity Example: 2' isPresetAmount: type: boolean description: 'Represents whether the item amount is taken from a preset list, e.g. 25, 50, 100, etc. or whether it was a different amount, e.g. 27' required: - itemClass - sellingPrice - topUpAmount - quantity - isPresetAmount description: Represents a money top-up item in a shopping cart title: MoneyTopUpCartItem Cents: type: object properties: cents: type: integer required: - cents title: Cents Pick_GiftCardCartItem.Exclude_keyofGiftCardCartItem.listPrice__: type: object properties: brand: type: string description: The name of the brand sellingPrice: $ref: '#/components/schemas/PickGiftCardCartItemExcludeKeyofGiftCardCartItemListPriceSellingPrice' itemClass: $ref: '#/components/schemas/PickGiftCardCartItemExcludeKeyofGiftCardCartItemListPriceItemClass' productType: $ref: '#/components/schemas/PickGiftCardCartItemExcludeKeyofGiftCardCartItemListPriceProductType' quantity: type: number format: double description: The number of units sold rawProductData: $ref: '#/components/schemas/Record_string.any_' seller: $ref: '#/components/schemas/SellerInfo' id: type: string description: The cart items’s unique ID itemFulfillment: $ref: '#/components/schemas/PickGiftCardCartItemExcludeKeyofGiftCardCartItemListPriceItemFulfillment' description: How the product was fulfilled. sku: type: string description: The stock-keeping unit (SKU) number categories: type: array items: type: string description: The category in the site/app in which the item was classified (e.g., fashion) isGift: type: boolean recipientInfo: $ref: '#/components/schemas/RecipientInfo' expectedDeliveryDelay: type: number format: double description: The expected delay in delivery, in hours isPresetAmount: type: boolean description: Represents whether the item amount is taken from a preset list, e.g. 25, 50, 100, etc. or whether it was a different amount, e.g. 27 required: - sellingPrice - itemClass - productType - quantity - id - itemFulfillment description: From T, pick a set of properties whose keys are in the union K title: Pick_GiftCardCartItem.Exclude_keyofGiftCardCartItem.listPrice__ Checkout_CashAppCheckout_Response_200: type: object properties: expiresAt: type: string format: date-time cashAppLink: type: string paymentId: type: string required: - expiresAt - cashAppLink - paymentId title: Checkout_CashAppCheckout_Response_200 PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsVenmo1: type: array items: $ref: '#/components/schemas/FeeOption' title: PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsVenmo1 PickGiftCardCartItemExcludeKeyofGiftCardCartItemListPriceProductType: type: string enum: - giftCard title: PickGiftCardCartItemExcludeKeyofGiftCardCartItemListPriceProductType PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsUsdc: oneOf: - $ref: '#/components/schemas/CurrencyCents' - $ref: '#/components/schemas/PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsUsdc1' - $ref: '#/components/schemas/FeeDetail' title: PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsUsdc GetCheckoutLinkArgsRentLamports: oneOf: - type: string - type: number format: double title: GetCheckoutLinkArgsRentLamports Checkout_ApaCheckout_Response_200: type: object properties: paymentId: type: string required: - paymentId title: Checkout_ApaCheckout_Response_200 CardDataWithoutAddressAdditionalVendorData: type: object properties: {} description: 'Optional non-PCI passthrough fields merged into the stored card vendorData. Base type is empty; tokenization providers extend it with their own fields.' title: CardDataWithoutAddressAdditionalVendorData VerificationRequiredResponse: type: object properties: verification: $ref: '#/components/schemas/Verification' verificationLink: type: string description: Link which can be hosted in an iframe or redirect the user to complete verification. redirectLink: type: string description: Link where the user will be redirected to upon successful verification. additionalVerificationLinks: type: array items: $ref: '#/components/schemas/AdditionalVerification' description: Additional links which can be hosted in an iframe or redirect the user to complete verification. rejectionReasons: type: array items: type: string description: List of reasons as to why the verification was rejected. required: - verification title: VerificationRequiredResponse SavedTokenCheckoutArgsRentLamports: oneOf: - type: string - type: number format: double title: SavedTokenCheckoutArgsRentLamports StandaloneLinkConfig: type: object properties: callbackUrl: type: string description: A URL which the user will be redirected to after a successful checkout. endUserDeviceIpAddress: type: string description: 'The IP address of the device of the user. The link will fail to render if the IP address of the device viewing the link is different than the one shared here.' required: - callbackUrl - endUserDeviceIpAddress title: StandaloneLinkConfig CustomPayInFeesConfig: type: array items: $ref: '#/components/schemas/CustomPayInFeeConfig' title: CustomPayInFeesConfig CardOnFileCheckoutArgsWithOriginalPaymentId: type: object properties: customPayInFees: $ref: '#/components/schemas/CustomPayInFeesConfig' customerInfo: $ref: '#/components/schemas/CustomerInfo' webhookInfo: $ref: '#/components/schemas/AnyObject' chargebackProtectionData: $ref: '#/components/schemas/CartClassOmitted' feePercentage: type: number format: double description: '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.' fixedFee: $ref: '#/components/schemas/Cents' subtotal: $ref: '#/components/schemas/Subtotal' jwtToken: type: string description: '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.' statementDescriptor: type: string description: 'If the bank supports dynamic descriptors, this will appear on the customer''s statement.' accountFundingTransaction: $ref: '#/components/schemas/AccountFundingTransaction' authOnly: type: boolean description: 'Only authorize the purchase. This will not actually capture the payment.(default: false)' rent: $ref: '#/components/schemas/CardOnFileCheckoutArgsWithOriginalPaymentIdRent' description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. transactionData: $ref: '#/components/schemas/EvmTransactionData' stellarTransaction: type: string description: '(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.' presentment: $ref: '#/components/schemas/Currency' authentication3DS: $ref: '#/components/schemas/Authentication3DS' chargebackProtectionAccountType: $ref: '#/components/schemas/ChargebackProtectionAccountType' settlementType: $ref: '#/components/schemas/SettlementType' redemptionCheck: type: boolean description: (Solana only) If a transaction involved in the purchase, should payment be checked for redemption destinationAuthKey: type: string description: '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.' customerUsdcTransferData: $ref: '#/components/schemas/CustomerUsdcTransferData' customerUsdcTransferDataV2: $ref: '#/components/schemas/CustomerUsdcTransferDataV2' userLocation: $ref: '#/components/schemas/IUserLocation' overrideChargebackProtectionDecision: type: boolean doNotReviewChargebackProtection: type: boolean originalPaymentId: type: string description: The payment ID of the original authorization. required: - subtotal - originalPaymentId description: Card on file using the original payment ID title: CardOnFileCheckoutArgsWithOriginalPaymentId Record_string.any_: type: object properties: {} description: Construct a type with a set of properties K of type T title: Record_string.any_ CurrencyCents: type: object properties: cents: type: integer currency: $ref: '#/components/schemas/Currency' required: - cents - currency title: CurrencyCents CardOnFileCheckoutArgsWithToken: type: object properties: customPayInFees: $ref: '#/components/schemas/CustomPayInFeesConfig' customerInfo: $ref: '#/components/schemas/CustomerInfo' webhookInfo: $ref: '#/components/schemas/AnyObject' chargebackProtectionData: $ref: '#/components/schemas/CartClassOmitted' feePercentage: type: number format: double description: '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.' fixedFee: $ref: '#/components/schemas/Cents' subtotal: $ref: '#/components/schemas/Subtotal' jwtToken: type: string description: '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.' statementDescriptor: type: string description: 'If the bank supports dynamic descriptors, this will appear on the customer''s statement.' accountFundingTransaction: $ref: '#/components/schemas/AccountFundingTransaction' authOnly: type: boolean description: 'Only authorize the purchase. This will not actually capture the payment.(default: false)' rent: $ref: '#/components/schemas/CardOnFileCheckoutArgsWithTokenRent' description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. transactionData: $ref: '#/components/schemas/EvmTransactionData' stellarTransaction: type: string description: '(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.' presentment: $ref: '#/components/schemas/Currency' authentication3DS: $ref: '#/components/schemas/Authentication3DS' chargebackProtectionAccountType: $ref: '#/components/schemas/ChargebackProtectionAccountType' settlementType: $ref: '#/components/schemas/SettlementType' redemptionCheck: type: boolean description: (Solana only) If a transaction involved in the purchase, should payment be checked for redemption destinationAuthKey: type: string description: '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.' customerUsdcTransferData: $ref: '#/components/schemas/CustomerUsdcTransferData' customerUsdcTransferDataV2: $ref: '#/components/schemas/CustomerUsdcTransferDataV2' userLocation: $ref: '#/components/schemas/IUserLocation' overrideChargebackProtectionDecision: type: boolean doNotReviewChargebackProtection: type: boolean token: type: string description: 'Token for the card to be used for the card on file purchase. Must have been previously authorized with a CVV.' required: - subtotal - token description: Card on file using a token title: CardOnFileCheckoutArgsWithToken CryptoTier: type: string enum: - stables - majors - volatile description: Currency tiers for crypto payins title: CryptoTier MerchantInitiatedStandardTransactionArgs: type: object properties: customPayInFees: $ref: '#/components/schemas/CustomPayInFeesConfig' webhookInfo: $ref: '#/components/schemas/AnyObject' feePercentage: type: number format: double description: '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.' fixedFee: $ref: '#/components/schemas/Cents' subtotal: $ref: '#/components/schemas/Subtotal' statementDescriptor: type: string description: 'If the bank supports dynamic descriptors, this will appear on the customer''s statement.' accountFundingTransaction: $ref: '#/components/schemas/AccountFundingTransaction' authOnly: type: boolean description: 'Only authorize the purchase. This will not actually capture the payment.(default: false)' rent: $ref: '#/components/schemas/MerchantInitiatedStandardTransactionArgsRent' description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. transactionData: $ref: '#/components/schemas/EvmTransactionData' stellarTransaction: type: string description: '(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.' presentment: $ref: '#/components/schemas/Currency' chargebackProtectionAccountType: $ref: '#/components/schemas/ChargebackProtectionAccountType' settlementType: $ref: '#/components/schemas/SettlementType' redemptionCheck: type: boolean description: (Solana only) If a transaction involved in the purchase, should payment be checked for redemption destinationAuthKey: type: string description: '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.' userLocation: $ref: '#/components/schemas/IUserLocation' overrideChargebackProtectionDecision: type: boolean doNotReviewChargebackProtection: type: boolean originalPaymentId: type: string description: The payment ID of the original authorization. required: - subtotal - originalPaymentId title: MerchantInitiatedStandardTransactionArgs Checkout_GetDestinationAuthKey_Response_200: type: object properties: destinationAuthKey: type: string required: - destinationAuthKey title: Checkout_GetDestinationAuthKey_Response_200 Checkout_CapturePayment_Response_200: type: object properties: jobId: $ref: '#/components/schemas/CheckoutCapturePostResponsesContentApplicationJsonSchemaJobId' required: - jobId title: Checkout_CapturePayment_Response_200 PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsAch: oneOf: - $ref: '#/components/schemas/CurrencyCents' - $ref: '#/components/schemas/PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsAch1' - $ref: '#/components/schemas/FeeDetail' title: PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsAch Address: type: object properties: address1: type: string address2: type: string city: type: string state: type: string zip: type: string country: type: string required: - address1 - city - state - zip - country title: Address PickGiftCardCartItemExcludeKeyofGiftCardCartItemListPriceItemFulfillment: type: string enum: - digital - physical description: How the product was fulfilled. title: PickGiftCardCartItemExcludeKeyofGiftCardCartItemListPriceItemFulfillment ZeroAuthorizationCheckoutArgsNewCardWithoutReasonCard: oneOf: - $ref: '#/components/schemas/CardData' - $ref: '#/components/schemas/CardDataWithoutAddress' title: ZeroAuthorizationCheckoutArgsNewCardWithoutReasonCard PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsFasterPayments: oneOf: - $ref: '#/components/schemas/CurrencyCents' - $ref: '#/components/schemas/PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsFasterPayments1' - $ref: '#/components/schemas/FeeDetail' title: PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsFasterPayments Pick_ApplePayJS.ApplePayPaymentContact.emailAddress_: type: object properties: emailAddress: type: string description: An email address for the contact. description: From T, pick a set of properties whose keys are in the union K title: Pick_ApplePayJS.ApplePayPaymentContact.emailAddress_ SupportedChainTokenCombos: type: object properties: chains: type: array items: $ref: '#/components/schemas/SupportedTokenChainCombo' required: - chains title: SupportedChainTokenCombos FeeOption: type: object properties: description: type: string fee: $ref: '#/components/schemas/CurrencyCents' fxFee: $ref: '#/components/schemas/CurrencyCents' required: - description - fee title: FeeOption PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsCredits: oneOf: - $ref: '#/components/schemas/CurrencyCents' - $ref: '#/components/schemas/PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsCredits1' - $ref: '#/components/schemas/FeeDetail' title: PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsCredits TokenCheckoutArgsRent: type: object properties: lamports: $ref: '#/components/schemas/TokenCheckoutArgsRentLamports' required: - lamports description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. title: TokenCheckoutArgsRent NewVenmoCheckoutArgsVenmo0: type: object properties: email: type: string required: - email title: NewVenmoCheckoutArgsVenmo0 CryptoHeadlessCheckoutArgsRent: type: object properties: lamports: $ref: '#/components/schemas/CryptoHeadlessCheckoutArgsRentLamports' required: - lamports description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. title: CryptoHeadlessCheckoutArgsRent ApplePayPaymentTokenPaymentData: type: object properties: version: type: string header: $ref: '#/components/schemas/ApplePayPaymentTokenPaymentDataHeader' signature: type: string data: type: string required: - version - header - signature - data description: An object containing the encrypted payment data. title: ApplePayPaymentTokenPaymentData VoidPaymentRequest: type: object properties: paymentId: type: string required: - paymentId title: VoidPaymentRequest ApplePayPaymentTokenPaymentMethodType: type: string enum: - debit - credit - prepaid - store description: A value representing the card's type of payment. title: ApplePayPaymentTokenPaymentMethodType VersionInfo: type: object properties: url: type: string transactionId: type: string directoryServer: type: string version: type: string required: - transactionId - directoryServer - version title: VersionInfo NewPayPalCheckoutArgsPaypal1: type: object properties: phoneNumber: $ref: '#/components/schemas/NewPayPalCheckoutArgsPaypalOneOf1PhoneNumber' required: - phoneNumber title: NewPayPalCheckoutArgsPaypal1 PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsCrypto: oneOf: - $ref: '#/components/schemas/CurrencyCents' - $ref: '#/components/schemas/PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsCrypto1' - $ref: '#/components/schemas/FeeDetail' title: PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsCrypto ZeroAuthorizationCheckoutArgsSavedCardWithoutReason: type: object properties: customPayInFees: $ref: '#/components/schemas/CustomPayInFeesConfig' token: type: string customerInfo: $ref: '#/components/schemas/CustomerInfo' webhookInfo: $ref: '#/components/schemas/AnyObject' statementDescriptor: type: string description: 'If the bank supports dynamic descriptors, this will appear on the customer''s statement.' stellarTransaction: type: string description: '(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.' authentication3DS: $ref: '#/components/schemas/Authentication3DS' chargebackProtectionAccountType: $ref: '#/components/schemas/ChargebackProtectionAccountType' threeDsChallengePreference: $ref: '#/components/schemas/ThreeDsChallengePreference' userLocation: $ref: '#/components/schemas/IUserLocation' overrideChargebackProtectionDecision: type: boolean doNotReviewChargebackProtection: type: boolean required: - token title: ZeroAuthorizationCheckoutArgsSavedCardWithoutReason SavedWireTokenCheckoutArgs: type: object properties: customPayInFees: $ref: '#/components/schemas/CustomPayInFeesConfig' customerInfo: $ref: '#/components/schemas/CustomerInfo' webhookInfo: $ref: '#/components/schemas/AnyObject' feePercentage: type: number format: double description: '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.' fixedFee: $ref: '#/components/schemas/Cents' subtotal: $ref: '#/components/schemas/Subtotal' jwtToken: type: string description: '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.' rent: $ref: '#/components/schemas/SavedWireTokenCheckoutArgsRent' description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. transactionData: $ref: '#/components/schemas/EvmTransactionData' stellarTransaction: type: string description: '(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.' settlementType: $ref: '#/components/schemas/SettlementType' destinationAuthKey: type: string description: '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.' customerUsdcTransferData: $ref: '#/components/schemas/CustomerUsdcTransferData' customerUsdcTransferDataV2: $ref: '#/components/schemas/CustomerUsdcTransferDataV2' userLocation: $ref: '#/components/schemas/IUserLocation' overrideChargebackProtectionDecision: type: boolean doNotReviewChargebackProtection: type: boolean merchantId: type: string description: Merchant Identifier token: type: string description: Token for the account to be used for checkout wireRoutingNumber: type: string accountNumber: type: string required: - subtotal - merchantId - token title: SavedWireTokenCheckoutArgs PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsSepa: oneOf: - $ref: '#/components/schemas/CurrencyCents' - $ref: '#/components/schemas/PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsSepa1' - $ref: '#/components/schemas/FeeDetail' title: PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsSepa google.payments.api.AssuranceDetails: type: object properties: accountVerified: type: boolean description: If true, indicates that Cardholder possession validation has been performed on returned payment credential. cardHolderAuthenticated: type: boolean description: 'If true, indicates that identification and verifications (ID&V) was performed on the returned payment credential. If false, the same risk-based authentication can be performed as you would for card transactions. This risk-based authentication can include, but not limited to, step-up with 3D Secure protocol if applicable.' description: "Assurance details about what validation has been performed on the returned payment credentials so that appropriate instrument risk checks can be applied.\n\n Note: If both cardHolderAuthenticated and accountVerified are true, you don’t need to step up the returned credentials.\n If both aren’t, we recommend you to run the same risk checks and , authentication including 3D Secure flow if applicable." title: google.payments.api.AssuranceDetails CryptoHeadlessCheckoutArgs: type: object properties: customPayInFees: $ref: '#/components/schemas/CustomPayInFeesConfig' customerInfo: $ref: '#/components/schemas/CustomerInfo' webhookInfo: $ref: '#/components/schemas/AnyObject' feePercentage: type: number format: double description: '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.' fixedFee: $ref: '#/components/schemas/Cents' subtotal: $ref: '#/components/schemas/Subtotal' jwtToken: type: string description: '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.' rent: $ref: '#/components/schemas/CryptoHeadlessCheckoutArgsRent' description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. transactionData: $ref: '#/components/schemas/EvmTransactionData' stellarTransaction: type: string description: '(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.' settlementType: $ref: '#/components/schemas/SettlementType' destinationAuthKey: type: string description: '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.' userLocation: $ref: '#/components/schemas/IUserLocation' overrideChargebackProtectionDecision: type: boolean doNotReviewChargebackProtection: type: boolean email: type: string chain: type: string description: The name of the chain to perform the crypto payin on. token: type: string description: The symbol of the token to execute the payin with. required: - subtotal - email - chain - token title: CryptoHeadlessCheckoutArgs GetTotalsBody: type: object properties: subtotal: $ref: '#/components/schemas/Subtotal' jwtToken: type: string description: '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.' rent: $ref: '#/components/schemas/GetTotalsBodyRent' description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. transactionData: $ref: '#/components/schemas/EvmTransactionData' settlementType: $ref: '#/components/schemas/SettlementType' stellarTransaction: type: string description: '(Stellar only) Base64 XDR transaction string for executing a merchant contract call for a 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.' bin: type: string description: The bin of the card to get the exact fees creditsBalance: $ref: '#/components/schemas/Cents' usdcBalance: $ref: '#/components/schemas/Cents' presentment: $ref: '#/components/schemas/Currency' customPayInFees: $ref: '#/components/schemas/CustomPayInFeesConfig' required: - subtotal description: From T, pick a set of properties whose keys are in the union K title: GetTotalsBody CryptoCartItem: type: object properties: itemClass: $ref: '#/components/schemas/CryptoCartItemItemClass' description: 'Denotes the cart item class. The item schema is chosen based on this value. Allowed value: crypto Example: crypto' id: type: string description: 'The cart items''s unique ID Example: 5de33332-546a-4171-8988-2a43d2bfe9c6' rawProductData: $ref: '#/components/schemas/AnyObject' units: type: string description: 'The amount in the crypto currency which is specified in the `cryptoCurrency` property Example: 1.04112 Pattern: ^[0-9]+(\.[0-9]+)?$' cryptoCurrency: type: string description: 'The crypto-currency symbol (uppercase) Example: BTC Pattern: ^[A-Z0-9-]+$' unitPrice: $ref: '#/components/schemas/CryptoCartItemUnitPrice' description: The price per 1 unit expectedDeliveryDelay: type: number format: double description: 'The expected delay in delivery, in hours Min value: 0' recipientInfo: $ref: '#/components/schemas/RecipientInfo' seller: $ref: '#/components/schemas/SellerInfo' required: - itemClass - units - cryptoCurrency - unitPrice - recipientInfo description: Represents a crypto item in a shopping cart title: CryptoCartItem NewVenmoCheckoutArgsRentLamports: oneOf: - type: string - type: number format: double title: NewVenmoCheckoutArgsRentLamports PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsPaypal: oneOf: - $ref: '#/components/schemas/CurrencyCents' - $ref: '#/components/schemas/PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsPaypal1' - $ref: '#/components/schemas/FeeDetail' title: PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsPaypal PickNftCartItemExcludeKeyofnftCartItemSellingPriceOrItemClassListPrice: type: object properties: currency: type: string valueInCurrency: type: number format: double description: The item's list price title: PickNftCartItemExcludeKeyofnftCartItemSellingPriceOrItemClassListPrice Record_PaymentMethods.TotalsResponseSettlement-or-undefined_: type: object properties: card: $ref: '#/components/schemas/TotalsResponseSettlement' ach: $ref: '#/components/schemas/TotalsResponseSettlement' fasterPayments: $ref: '#/components/schemas/TotalsResponseSettlement' sepa: $ref: '#/components/schemas/TotalsResponseSettlement' pix: $ref: '#/components/schemas/TotalsResponseSettlement' usdc: $ref: '#/components/schemas/TotalsResponseSettlement' googlePay: $ref: '#/components/schemas/TotalsResponseSettlement' applePay: $ref: '#/components/schemas/TotalsResponseSettlement' credits: $ref: '#/components/schemas/TotalsResponseSettlement' crypto: $ref: '#/components/schemas/TotalsResponseSettlement' wire: $ref: '#/components/schemas/TotalsResponseSettlement' cashApp: $ref: '#/components/schemas/TotalsResponseSettlement' apa: $ref: '#/components/schemas/TotalsResponseSettlement' paypal: $ref: '#/components/schemas/TotalsResponseSettlement' venmo: $ref: '#/components/schemas/TotalsResponseSettlement' interac: $ref: '#/components/schemas/TotalsResponseSettlement' required: - card - ach - fasterPayments - sepa - pix - usdc - googlePay - applePay - credits - crypto - wire - cashApp - apa - paypal - venmo - interac description: Construct a type with a set of properties K of type T title: Record_PaymentMethods.TotalsResponseSettlement-or-undefined_ CurrencyAmount: type: object properties: valueInCurrency: type: number format: double description: 'The amount in the currency, which is specified in the `currency` property Example: 90' currency: type: string description: 'Currency specified as a three letter code according to ISO 4217 Example: USD' required: - valueInCurrency - currency description: Common currency amount structure title: CurrencyAmount CustomPayInFeeConfig: type: object properties: fee: $ref: '#/components/schemas/CustomPayInFeeValue' lineItemLabel: type: string required: - fee - lineItemLabel title: CustomPayInFeeConfig productType: type: string enum: - inGameProduct - gameOfSkill - dataStorage - computingResources - sportsTicket - eSportsTicket - musicTicket - conferenceTicket - virtualSportsTicket - virtualESportsTicket - virtualMusicTicket - virtualConferenceTicket - alcohol - DLC - subscription - fundACause - realEstate - computingContract - digitalArt - topUp - ownershipContract - inGameCurrency - digitalCollectibles - digitalCollectiblesMarketplace - digitalGiftingMarketplace - sweepstakes - virtualSportsEvents - contractInvoicing - onlineCasino - cryptoOnramp - gaming - travelDocuments - musicStreaming - digitalContent - eBooks - digitalSubscriptionContent title: productType FeeDetailRequest: type: object properties: merchantId: type: string description: The merchant identifier subtotal: $ref: '#/components/schemas/CurrencyCents' presentment: $ref: '#/components/schemas/Currency' bin: type: string description: The Bin of the card (for exact fees) required: - merchantId - subtotal title: FeeDetailRequest Authentication3DS: oneOf: - $ref: '#/components/schemas/Device3DSInfo' - $ref: '#/components/schemas/External3DSInfo' - $ref: '#/components/schemas/ConcludeChallenge' description: "3DS Card Authorization Data\n\nOn initial payment submission - Device3DSInfo needed:\n 3DS device information - required if 3DS is enabled\n\nAfter card challenge complete:\n 3DS challenge transaction id - required after prompted for challenge" title: Authentication3DS Subtotal: oneOf: - $ref: '#/components/schemas/CurrencyCents' - $ref: '#/components/schemas/Cents' - $ref: '#/components/schemas/TokenSubtotal' title: Subtotal PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsUsdc1: type: array items: $ref: '#/components/schemas/FeeOption' title: PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsUsdc1 PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsFasterPayments1: type: array items: $ref: '#/components/schemas/FeeOption' title: PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsFasterPayments1 PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsApa: oneOf: - $ref: '#/components/schemas/CurrencyCents' - $ref: '#/components/schemas/PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsApa1' - $ref: '#/components/schemas/FeeDetail' title: PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsApa TokenSubtotal: type: object properties: address: type: string description: 'The tokens address Solana - Token Mint Address Evm - Token Contract Address' amount: $ref: '#/components/schemas/TokenSubtotalAmount' description: Number of tokens decimals: type: number format: double description: Number of decimals for the token required: - address - amount title: TokenSubtotal PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsApa1: type: array items: $ref: '#/components/schemas/FeeOption' title: PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsApa1 GetCheckoutLinkArgsRent: type: object properties: lamports: $ref: '#/components/schemas/GetCheckoutLinkArgsRentLamports' required: - lamports description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. title: GetCheckoutLinkArgsRent ApaCredentialType.PHONE: type: string enum: - PHONE title: ApaCredentialType.PHONE SavedPayPalCheckoutArgsRent: type: object properties: lamports: $ref: '#/components/schemas/SavedPayPalCheckoutArgsRentLamports' required: - lamports description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. title: SavedPayPalCheckoutArgsRent NewPayPalCheckoutArgsPaypalOneOf1PhoneNumber: type: object properties: nationalNumber: type: string countryCode: type: string required: - nationalNumber - countryCode title: NewPayPalCheckoutArgsPaypalOneOf1PhoneNumber IUserLocation: type: object properties: lat: type: number format: double lng: type: number format: double required: - lat - lng description: '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.' title: IUserLocation ApaCheckoutArgsRentLamports: oneOf: - type: string - type: number format: double title: ApaCheckoutArgsRentLamports MerchantStyle: type: string enum: - rounded - sharp - pill title: MerchantStyle NewInteracCheckoutArgs: type: object properties: customPayInFees: $ref: '#/components/schemas/CustomPayInFeesConfig' customerInfo: $ref: '#/components/schemas/CustomerInfo' webhookInfo: $ref: '#/components/schemas/AnyObject' feePercentage: type: number format: double description: '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.' fixedFee: $ref: '#/components/schemas/Cents' subtotal: $ref: '#/components/schemas/Subtotal' jwtToken: type: string description: '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.' rent: $ref: '#/components/schemas/NewInteracCheckoutArgsRent' description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. transactionData: $ref: '#/components/schemas/EvmTransactionData' stellarTransaction: type: string description: '(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.' settlementType: $ref: '#/components/schemas/SettlementType' destinationAuthKey: type: string description: '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.' customerUsdcTransferData: $ref: '#/components/schemas/CustomerUsdcTransferData' customerUsdcTransferDataV2: $ref: '#/components/schemas/CustomerUsdcTransferDataV2' userLocation: $ref: '#/components/schemas/IUserLocation' overrideChargebackProtectionDecision: type: boolean doNotReviewChargebackProtection: type: boolean merchantId: type: string description: Merchant Identifier email: type: string description: 'Consumer email address. Optional — used to create the Coinflow customer record. Also used as the Interac payin handle when `phone` is not provided.' phone: type: string description: 'Consumer phone number. Optional — when provided, the Interac payin request is sent to the phone instead of the email.' firstName: type: string description: Consumer first name. Required. lastName: type: string description: Consumer last name. Required required: - subtotal - merchantId - firstName - lastName title: NewInteracCheckoutArgs ChallengeFields: type: object properties: transactionId: type: string url: type: string creq: type: string required: - transactionId - url - creq title: ChallengeFields NewWireCheckoutArgsRent: type: object properties: lamports: $ref: '#/components/schemas/NewWireCheckoutArgsRentLamports' required: - lamports description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. title: NewWireCheckoutArgsRent ChargebackProtectionAccountType: type: string enum: - guest - private - business title: ChargebackProtectionAccountType ApplePayPaymentTokenPaymentMethodNetwork: oneOf: - type: string - $ref: '#/components/schemas/ApplePayPaymentTokenPaymentMethodNetwork1' description: A string, suitable for display, that is the name of the payment network backing the card. title: ApplePayPaymentTokenPaymentMethodNetwork ApplePayPaymentTokenPaymentMethodNetwork1: type: string enum: - Visa title: ApplePayPaymentTokenPaymentMethodNetwork1 PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsGooglePay: oneOf: - $ref: '#/components/schemas/CurrencyCents' - $ref: '#/components/schemas/PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsGooglePay1' - $ref: '#/components/schemas/FeeDetail' title: PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsGooglePay PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsVenmo: oneOf: - $ref: '#/components/schemas/CurrencyCents' - $ref: '#/components/schemas/PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsVenmo1' - $ref: '#/components/schemas/FeeDetail' title: PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsVenmo EvmTransactionData: oneOf: - $ref: '#/components/schemas/SafeMintRedeem' - $ref: '#/components/schemas/ReturnedTokenIdRedeem' - $ref: '#/components/schemas/KnownTokenIdRedeem' - $ref: '#/components/schemas/NormalRedeem' - $ref: '#/components/schemas/TokenRedeem' - $ref: '#/components/schemas/DecentRedeem' description: '(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.' title: EvmTransactionData IbanData: type: object properties: number: type: string description: The IBAN number or in the case of the UK the 8-digit account number sortCode: type: string description: Only used for the UK, the 6-digit sort code bic: type: string description: Only used for the Sepa, the bank identifier code - required when requested accountHolder: type: string description: 'The account holder name registered with the bank - required when requested (e.g. when a Verification of Payee check needs the exact name)' alias: type: string businessName: type: string firstName: type: string lastName: type: string country: type: string email: type: string required: - number - firstName - lastName - country title: IbanData MerchantTheme: type: object properties: showCardIcon: type: boolean placeholderColor: type: string expirationPlaceholder: type: string cvvPlaceholder: type: string cardNumberPlaceholder: type: string fontWeight: type: string fontSize: type: string style: $ref: '#/components/schemas/MerchantStyle' font: type: string ctaColor: type: string textColorAction: type: string textColorAccent: type: string textColor: type: string backgroundAccent2: type: string backgroundAccent: type: string cardBackground: type: string background: type: string primary: type: string title: MerchantTheme ApplePayPaymentToken: type: object properties: transactionIdentifier: type: string description: A unique identifier for this payment. paymentMethod: $ref: '#/components/schemas/ApplePayPaymentTokenPaymentMethod' description: Information about the card used in the transaction. paymentData: $ref: '#/components/schemas/ApplePayPaymentTokenPaymentData' description: An object containing the encrypted payment data. required: - transactionIdentifier - paymentMethod - paymentData title: ApplePayPaymentToken PhoneInfo: type: object properties: carrier: type: string description: 'The mobile carrier Example: T-Mobile' countryCode: type: string description: 'The country code (leading `+` is optional) Example: 42 Pattern: ^\+?[0-9]+$' phone: type: string description: 'The phone number without the country code or hyphens Example: 2025550169 Pattern: ^[0-9]+$' required: - countryCode - phone description: Phone information structure title: PhoneInfo SupportedTokenChainCombo: type: object properties: name: type: string image: type: string tokens: type: array items: $ref: '#/components/schemas/SupportedToken' required: - name - image - tokens title: SupportedTokenChainCombo PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsApplePay1: type: array items: $ref: '#/components/schemas/FeeOption' title: PartialRecordPaymentMethodsFeeOptionArrayOrFeeDetailOrCurrencyCentsApplePay1 CardCheckoutArgs: type: object properties: subtotal: $ref: '#/components/schemas/Subtotal' webhookInfo: $ref: '#/components/schemas/AnyObject' chargebackProtectionData: $ref: '#/components/schemas/CartClassOmitted' customerInfo: $ref: '#/components/schemas/CustomerInfo' settlementType: $ref: '#/components/schemas/SettlementType' rent: $ref: '#/components/schemas/CardCheckoutArgsRent' description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. redemptionCheck: type: boolean description: (Solana only) If a transaction involved in the purchase, should payment be checked for redemption transactionData: $ref: '#/components/schemas/EvmTransactionData' authOnly: type: boolean description: 'Only authorize the purchase. This will not actually capture the payment.(default: false)' feePercentage: type: number format: double description: '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.' fixedFee: $ref: '#/components/schemas/Cents' jwtToken: type: string description: '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: $ref: '#/components/schemas/ThreeDsChallengePreference' destinationAuthKey: type: string description: '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.' customerUsdcTransferData: $ref: '#/components/schemas/CustomerUsdcTransferData' customerUsdcTransferDataV2: $ref: '#/components/schemas/CustomerUsdcTransferDataV2' stellarTransaction: type: string description: '(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.' userLocation: $ref: '#/components/schemas/IUserLocation' customPayInFees: $ref: '#/components/schemas/CustomPayInFeesConfig' overrideChargebackProtectionDecision: type: boolean doNotReviewChargebackProtection: type: boolean authentication3DS: $ref: '#/components/schemas/Authentication3DS' chargebackProtectionAccountType: $ref: '#/components/schemas/ChargebackProtectionAccountType' presentment: $ref: '#/components/schemas/Currency' accountFundingTransaction: $ref: '#/components/schemas/AccountFundingTransaction' statementDescriptor: type: string description: 'If the bank supports dynamic descriptors, this will appear on the customer''s statement.' card: $ref: '#/components/schemas/CardCheckoutArgsCard' description: 'Credit card information. Always pass address unless explicitly told that you may not' saveCard: type: boolean description: Save the new card? If not passed in, will default to true required: - subtotal - card title: CardCheckoutArgs DecentRedeemType: type: string enum: - decent title: DecentRedeemType CardOnFileCheckoutArgsWithOriginalPaymentIdRent: type: object properties: lamports: $ref: '#/components/schemas/CardOnFileCheckoutArgsWithOriginalPaymentIdRentLamports' required: - lamports description: (Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here. title: CardOnFileCheckoutArgsWithOriginalPaymentIdRent CapturePaymentRequestRentLamports: oneOf: - type: string - type: number format: double title: CapturePaymentRequestRentLamports TotalsResponseSettlement: type: object properties: subtotal: $ref: '#/components/schemas/CurrencyCents' creditCardFees: $ref: '#/components/schemas/CurrencyCents' chargebackProtectionFees: $ref: '#/components/schemas/CurrencyCents' gasFees: $ref: '#/components/schemas/CurrencyCents' fxFees: $ref: '#/components/schemas/CurrencyCents' networkFees: $ref: '#/components/schemas/CurrencyCents' payInFees: $ref: '#/components/schemas/CurrencyCents' total: $ref: '#/components/schemas/CurrencyCents' reserve: $ref: '#/components/schemas/CurrencyCents' merchantPaidCreditCardFees: $ref: '#/components/schemas/CurrencyCents' merchantPaidChargebackProtectionFees: $ref: '#/components/schemas/CurrencyCents' merchantPaidGasFees: $ref: '#/components/schemas/CurrencyCents' merchantPaidFxFees: $ref: '#/components/schemas/CurrencyCents' merchantPaidNetworkFees: $ref: '#/components/schemas/CurrencyCents' invoicedCreditCardFees: $ref: '#/components/schemas/CurrencyCents' invoicedChargebackProtectionFees: $ref: '#/components/schemas/CurrencyCents' invoicedGasFees: $ref: '#/components/schemas/CurrencyCents' invoicedFxFees: $ref: '#/components/schemas/CurrencyCents' invoicedNetworkFees: $ref: '#/components/schemas/CurrencyCents' settlement: $ref: '#/components/schemas/TotalsResponse' basis: $ref: '#/components/schemas/CurrencyCents' exchangeRate: type: number format: double required: - subtotal - creditCardFees - chargebackProtectionFees - gasFees - fxFees - total - settlement - basis - exchangeRate title: TotalsResponseSettlement ApplePayCheckoutArgsRentLamports: oneOf: - type: string - type: number format: double title: ApplePayCheckoutArgsRentLamports securitySchemes: wallet: type: apiKey in: header name: x-coinflow-auth-wallet description: The web3 wallet of the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key blockchain: type: apiKey in: header name: x-coinflow-auth-blockchain description: The blockchain associated with the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key userId: type: apiKey in: header name: x-coinflow-auth-user-id description: The external identifier of the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key merchant: type: apiKey in: header name: Authorization description: The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key signedMessage: type: apiKey in: header name: x-coinflow-auth-signed-message description: The message signed by the users wallet merchantId: type: apiKey in: header name: x-coinflow-auth-merchant-id description: The merchant ID the session should be generated for sessionKey: type: apiKey in: header name: x-coinflow-auth-session-key description: The session key generated for the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key admin: type: apiKey in: header name: Authorization