Create Redeem Transaction

Creates a transaction for the user to sign in order to redeem their Coinflow credits with a merchant’s contract.

The transaction passed to this endpoint should be the same as if the end user’s wallet was calling the merchant’s contract with enough USDC/Other Cryto Currency to successfully complete the transaction.

Authentication

x-coinflow-auth-walletstring
x-coinflow-auth-blockchainstring

Headers

x-device-idstringOptional

Request

This endpoint expects an object.
merchantIdstringRequired
subtotalobjectRequired
transactionstringRequired
Transaction for which the purchase will be redeemed. This should be constructed by the merchant, and should be setup the same way as if the user has USDC/Purchase Token in their wallet. The endpoint will modify this transaction and then send it back to the user to sign and send. Solana - base 58 encoded transaction, create using: `base58.encode(transaction.serialize({ requireAllSignatures: false, verifySignatures: false }))` Evm - Base 64 encoded stringified transaction, create using: `Buffer.from(JSON.stringify(transaction)).toString('base64')`
signedMessagesobjectOptional
chargebackProtectionDatalist of anyOptional
rentobjectOptional

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

nativeSolToConvertobjectOptional

(Solana Only) Only use this if your subtotal.token is So11111111111111111111111111111111111111112 and your contract requires native SOL. This will convert the amount of wSOL to native SOL for use in the transaction.

skipBalanceCheckbooleanOptional

Response

Ok
transactionstring
Transaction for the users wallet to sign and send. Solana - base 58 encoded transaction, recover using: `Transaction.from(base58.decode(transaction))` Near - Base 64 encoded stringified transaction, recover using: `JSON.parse(Buffer.from(transaction, 'base64').toString());` Evm - Base 64 encoded stringified transaction, recover using: `JSON.parse(Buffer.from(transaction, 'base64').toString());`

Errors