- New
CoinflowCardForm,CoinflowCardNumberForm, andCoinflowCvvFormcomponents — simple card inputs with a singletokenize()call and full theme support - Theme options:
font,fontSize,background,textColor,showCardIcon,cardNumberPlaceholder,cvvPlaceholder,expirationPlaceholder showCardIcon: display the detected card brand (Visa, Mastercard, etc.) inline with the card number input- Improved security for iframe communication
import {useWallet} from '@solana/wallet-adapter-react';
const wallet = useWallet();
const connection = useConnection();
<CoinflowWithdraw wallet={wallet} merchantId='<YOUR MERCHANT ID>' env='prod|sandbox|staging' connection={connection} />;
Props:
wallet: The Solana Wallet Adapter WalletmerchantId: Your Merchant ID (Contact Coinflow support for this)connection: Solana Connectionenv(optional): This defaults toprod- For testing set to
staging
- For testing set to
onSuccess(optional): function to run when the withdrawal process is successfullockAmount(optional): Whether to let the user select the amount to withdraw or to disable the inputamount(optional): The amount to withdraw - required iflockAmount=truetokens(optional): Define a list to filter the available tokenslockDefaultToken(optional): Only allow the default token to be usedemail(optional): Set the default email to be used in entry fieldsbankAccountLinkRedirect(optional): The URL to be used for bank account setupadditionalWallets(optional): Define additional wallets to assign to the userusePermit(optional): Pass as false to disable permit message signing for EVM and use approve transactionstransactionSigner(optional): Public Key of the wallet which will actually execute the withdrawal transaction. Must be associated with the same withdrawer as the main wallet.
import {useWallet} from '@solana/wallet-adapter-react';
const wallet = useWallet();
const connection = useConnection();
<CoinflowPurchase wallet={wallet} merchantId='<YOUR MERCHANT ID>' env='prod|sandbox|staging' connection={connection} />;
Props:
subtotal(optional): Fix the amount of purchasewallet: The Solana Wallet Adapter WalletmerchantId: Your Merchant ID (Contact Coinflow support for this)connection: Solana Connectionenv(optional): This defaults toprod- For testing set to
staging
- For testing set to
onSuccess(optional): function to run when the purchase process is successfultransaction(optional): transaction for the user to run which redeems their credits with your smart contract. Create this transaction just like you would for a normal user who has USDC in their account.debugTx(optional): Setting this totruewill sign the transaction with the wallet, and send the transaction with no preflight checks allowing for easier debug of any issues.planCode(optional): When a subscription is being purchased, the code of the subscription plan.settlementType(optional): The settlement method to use for the proceeds of a purchase. (Credits, USDC, or Bank)webhookInfo(optional): Product or transaction based information that you want transmitted when you receive webhooks regarding the purchaseemail(optional): Set the default email to use in email entry fieldschargebackProtectionData(optional):customerInfo(optional): Additional information about the customerallowedPaymentMethods(optional): The payment methods displayed on the UI. If omitted, all available payment methods will be displayed.rent(optional, Solana only): Specify the blockchain rent amount to add to the totalnativeSolToConvert(optional, Solana only): Specify the amount of native SOL to convert wSOL for the purchasejwtToken(optional): A JWT token which encodes verified checkout parameters to prevent spoofing of arguments.supportEmail(optional): Your business support email address to use for support inquirieszeroAuthorization(optional): Pass in true if you wish to perform a zero authorization card transaction
- Added
userLocationproperty toCoinflowPurchaseandCoinflowWithdrawfor merchants who choose to use Geolocation checks
- New
CoinflowCardForm,CoinflowCardNumberForm, andCoinflowCvvFormcomponents — simple card inputs with a singletokenize()call and theme support - Added theme options for
fontSizeand placeholder text
- Added unified protection initialization helper and headers helper
- Test zipcode
00001triggers fraud protection rejection
- Added support for CashApp redirection
- Fixed typing for sessionKey being not present when passing the wallet object
- Added support for overriding the default account type (from merchant settings) used for chargeback protection via
chargebackProtectionAccountTypein the URL parameters.
- Added support for custom pay-in fees via
customPayInFeesin the JWT token or URL parameters. This allows merchants to add custom fee line items (fixed or percentage-based) that are displayed during checkout.
- New Blockchain Support: The SDK now supports Stellar, a fast and low-cost blockchain for payments. Pass blockchain='stellar' to enable Stellar payment processing.
- Added zeroAuthorizationConfig prop to CoinflowPurchase for controlling zero authorization behavior (show/hide saved payment methods, verify a specific card by token). Deprecates isZeroAuthorization boolean prop.
- New Blockchain Support: The SDK now supports Monad, a high-performance EVM-compatible blockchain. Pass blockchain='monad' to enable Monad payment processing.
- [Bug Fix] Fixes an issue on some earlier versions of expo:
Requiring unknown module "undefined".
- Improve the logic to handle linking users out to the browser so that it is future proofed and consistent in the future.
- Internal change to a query parameter name for zero authorization
- Added zeroAuthorization parameter to allow zero authorization card transactions
- Added email as a field for customerInfo
- Added
redemptionCheckto purchase (Solana only)
- Added
allowedWithdrawSpeedsquery parameter to allow merchants to specify what withdraw speeds are allowed. The default is all.
- Added more
chargebackProtectionDataproduct types
- Added
partialUsdcCheckedproperty to pre-check partial USDC payment checkbox
- Support wallet connect deep links
- Added Multi-Currency Presentment via the
presentmentproperty
- Improving Withdraw With Session Keys
- Fixing
onAuthDeclinedcallback
- Added
sellerprop tochargebackProtectionData
- Added 3DS Challenge Handling to the standalone Google Pay button
- Added
allowedPaymentMethodstoCoinflowPurchase - Options are:
- 'card' = Credit and debit cards
- 'ach' = ACH bank account transfers
- 'fasterPayments' = UK Faster Payments (GBP Bank Transfers)
- 'sepa' = SEPA bank account transfers (EUR Bank Transfers)
- 'pix' = Pix bank account transfers (BRL Bank Transfers)
- 'usdc' = USDC
- 'googlePay' = Google Pay
- 'applePay' = Apple Pay
- 'credits' = Credits
- Fix for iframe from here: Can't open URL about:srcdoc on IOS react-native-webview/react-native-webview#2567 (comment)
- Allow for inspection in safari from here: Feature/webview debugging enabled prop react-native-webview/react-native-webview#2937
- Fixing the use of session keys in react native SDK
- Deprecating
amountandtokenin favor of subtotal which can be accessed via the following ways: - Added multi-currency support for presentment
- SEPA and UK Faster Payments support
{
cents: number;
currency: 'USD' | 'EUR' | 'GBP' | 'BRL';
}or
{
address: string;
amount: number;
}- Extended redirect blacklist for CoinflowWebView
- Added sessionKey authentication mechanism to
CoinflowWithdraw
- Added sessionKey authentication mechanism to
CoinflowPurchase
- CoinflowPurchaseV2 component added for a modernized purchase flow
- Added arbitrum blockchain support
- Allow custom taker on reservoir transactions
- Fix redirect bug on checkout component
- Added base blockchain support
- Added AuthOnly parameter to CoinflowPurchase
- Require
signMessageon wallets for stronger withdraw authentication
- Added new ChargebackProtectionData productTypes
- Added
waitForHashto EvmTransactionData
- Added
themeprops to Coinflow components for easy color control
- Added
orderIdoption for reservoir items
- Added
nativeSolToConvertfor Solana transactions
- Settlement type param for settlement control
- Customer info param for added reporting capabilities
- Added disableGooglePay and disableApplePay props to CoinflowPurchase
- Bug fix for enhanced usage with Google Pay
- Added support for EVM NFT purchases
Breaking Changes
- This is enabled to true by default. If you are using a wallet that does not support versioned transactions, you must set
supportsVersionedTransactionsinCoinflowWithdrawtofalse.
- Added new property lockDefaultToken which locks the withdrawal option to the users default currency (USDC or EUROe)
- Added support for paying solana rent for a transaction
- Fix external linking for Coinflow URLs
- Fix external linking for specified URLs
- Added deviceId and chargebackProtectionData to CoinflowPurchase
- Fixing Webhook Info
getFeePayer- Return thePublicKeyof the Coinflow Fee Payer
- Added
tokenprop forCoinflowPurchasewith polygon
- Fixing nSure redirect error
- Added Withdraw and Purchase history components
- Added the ability to sign transactions instead of sign messages
Genesis 1:1