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