For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
RegisterLoginSandbox Login
GuidesRecipesAPI Reference
GuidesRecipesAPI Reference
  • API Reference
      • POSTACH Checkout
      • POSTApple Pay Checkout
      • GETApple Pay Validate Merchant
      • POSTCapture Payment
      • POSTCard Checkout
      • POSTCard on File Authorized
      • POSTCard On File Checkout
      • POSTCash App Checkout
      • POSTCreate Pix Payment
      • POSTCrypto Payin
      • POSTGet Checkout Jwt Token
      • POSTGet Checkout Link
      • POSTGet Destination Auth Key
      • POSTGet Interchange Fees
      • GETGet supported chains and tokens
      • POSTGet Totals
      • POSTGet USDC Authorization Message (EVM only)
      • POSTGoogle Pay Checkout
      • POSTMerchant Initiated Transaction
      • POSTRain Checkout
      • PUTReview Payment Protection
      • POSTSaved Card Checkout
      • POSTSepa/Faster Payments Checkout (New Account)
      • POSTSepa/Faster Payments Checkout (Saved Account)
      • POSTUS Wire Domestic Payments Checkout (New Account)
      • POSTUS Wire Domestic Payments Checkout (Saved Account)
      • POSTVoid Payment
      • POSTZero Authorization
    • POSTGets USDC/SBC/EuroE on testnets
LogoLogo
RegisterLoginSandbox Login
API ReferenceCheckout

Cash App Checkout

POST
https://api-sandbox.coinflow.cash/api/checkout/cashapp/:merchantId
POST
/api/checkout/cashapp/:merchantId
$curl -X POST https://api-sandbox.coinflow.cash/api/checkout/cashapp/merchantId \
> -H "x-coinflow-auth-session-key: <apiKey>" \
> -H "Content-Type: application/json" \
> -d '{
> "subtotal": {
> "cents": 2599,
> "currency": "USD"
> }
>}'
1{
2 "expiresAt": "2024-07-01T15:45:00Z",
3 "cashAppLink": "https://cash.app/pay/merchant12345",
4 "paymentId": "pay_8f3b2c9d7a4e4f1b9c2d"
5}
Initiates the checkout for a Cash App Payment
Was this page helpful?
Previous

Create Pix Payment

Next
Built with

Authentication

x-coinflow-auth-session-keystring
The session key generated for the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key
OR
x-coinflow-auth-walletstring
The web3 wallet of the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key
x-coinflow-auth-blockchainstring
The blockchain associated with the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key
OR
x-coinflow-auth-user-idstring
The external identifier of the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key
Authorizationstring
The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key

Path parameters

merchantIdstringRequired

Headers

x-device-idstringOptional
- (Optional) If you are using Coinflow Chargeback Protection, you must pass the device id of the customer's device.
x-coinflow-client-ipstringOptional

Request

This endpoint expects an object.
subtotalobjectRequired
customPayInFeeslist of objectsOptional
customerInfoobjectOptional
webhookInfoobjectOptional
feePercentagedoubleOptional0-100

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

fixedFeeobjectOptional
jwtTokenstringOptional
This is a token encoding the parameters for the request. Allows purchase parameters to be verified to prevent manipulation when the checkout page is presented to the user.
rentobjectOptional

(Solana only) if your transaction requires a known amount of Rent to be paid, you can pass it here.

transactionDataobjectOptional

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

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

stellarTransactionstringOptional

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

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

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

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

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

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

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

emailstringOptional

Response

Ok
expiresAtdatetime
cashAppLinkstring
paymentIdstring

Errors

412
Precondition Failed Error
423
Locked Error
451
Unavailable for Legal Reasons Error

The session key generated for the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key

The web3 wallet of the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key

The blockchain associated with the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key

The external identifier of the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key

The API key of the merchant - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key

  • (Optional) If you are using Coinflow Chargeback Protection, you must pass the device id of the customer’s device.