npm.io
5.17.0 • Published 5d ago

@coinflowlabs/react

Licence
Apache-2.0
Version
5.17.0
Deps
4
Size
651 kB
Vulns
0
Weekly
7.0K

Coinflow React

Changelog

5.12.0

  • New CoinflowCardForm, CoinflowCardNumberForm, and CoinflowCvvForm components — simple card inputs with a single tokenize() 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 browser autocomplete support for card fields
  • Improved security for iframe communication

Withdraw Usage

import {useWallet} from '@solana/wallet-adapter-react';
const wallet = useWallet();
const connection = useConnection();

<CoinflowWithdraw wallet={wallet} merchantId='<YOUR MERCHANT ID>' env='prod|sandbox' connection={connection} />;

Props:

  • wallet: The Solana Wallet Adapter Wallet
  • merchantId: Your Merchant ID (Contact Coinflow support for this)
  • connection: Solana Connection
  • env (optional): This defaults to prod
    • For testing set to sandbox
  • onSuccess (optional): function to run when the withdrawal process is successful
  • lockAmount (optional): Whether to let the user select the amount to withdraw or to disable the input
  • amount (optional): The amount to withdraw - required if lockAmount=true
  • tokens (optional): Define a list to filter the available tokens
  • lockDefaultToken (optional): Only allow the default token to be used
  • email (optional): Set the default email to be used in entry fields
  • bankAccountLinkRedirect (optional): The URL to be used for bank account setup
  • additionalWallets (optional): Define additional wallets to assign to the user
  • usePermit (optional): Pass as false to disable permit message signing for EVM and use approve transactions
  • transactionSigner (optional): Public Key of the wallet which will actually execute the withdrawal transaction. Must be associated with the same withdrawer as the main wallet.

Purchase Usage

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 purchase
  • wallet: The Solana Wallet Adapter Wallet
  • merchantId: Your Merchant ID (Contact Coinflow support for this)
  • connection: Solana Connection
  • env (optional): This defaults to prod
    • For testing set to staging
  • onSuccess (optional): function to run when the purchase process is successful
  • transaction (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 to true will 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 purchase
  • email (optional): Set the default email to use in email entry fields
  • chargebackProtectionData (optional):
  • customerInfo (optional): Additional information about the customer
  • allowedPaymentMethods (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 total
  • nativeSolToConvert (optional, Solana only): Specify the amount of native SOL to convert wSOL for the purchase
  • jwtToken (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 inquiries
  • zeroAuthorization (optional): Pass in true if you wish to perform a zero authorization card transaction

Utils

CoinflowUtils

  • getFeePayer - Return the PublicKey of the Coinflow Fee Payer

Changelog

5.17.0

  • Added CoinflowVenmoButton to let merchants embed the Venmo button in their own checkout UI

5.16.0

  • Added CoinflowPayPalButton to let merchants embed the PayPal button in their own checkout UI

5.15.0

  • Added cardBackground to MerchantTheme to control the inner card-entry surface independently of the outer canvas background
  • Added placeholderColor to MerchantTheme to control placeholder text color in card form inputs
  • Fixed the card brand icon being hidden when the card form reflows to a stacked two-row layout at narrow widths

5.14.0

  • Fixed an issue with vertical spacing when resizing the page

5.11.0

  • Added unified protection initialization helper and headers helper
  • Test zipcode 00001 triggers fraud protection rejection

5.10.0

  • Added support for CashApp redirection

5.9.2

  • Fixed typing for sessionKey being not present when passing the wallet object

5.9.1

  • Added support for overriding the default account type (from merchant settings) used for chargeback protection via chargebackProtectionAccountType in the URL parameters.

5.8.1

  • Added support for custom pay-in fees via customPayInFees in the JWT token or URL parameters. This allows merchants to add custom fee line items (fixed or percentage-based) that are displayed during checkout.

5.8.0

  • New Blockchain Support: The SDK now supports Stellar, a fast and low-cost blockchain for payments. Pass blockchain='stellar' to enable Stellar payment processing.

5.7.0

  • 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.

5.6.0

  • New Blockchain Support: The SDK now supports Monad, a high-performance EVM-compatible blockchain. Pass blockchain='monad' to enable Monad payment processing.

5.5.1

  • Internal change to a query parameter name for zero authorization

5.5.0

  • Added zeroAuthorization parameter to allow zero authorization card transactions

5.4.4

  • NSure SDK added as a dependency

5.4.3

  • Added email as a field for customerInfo

5.4.2

  • Large performance improvements when loading the Checkout Form

5.4.1

  • Added redemptionCheck to purchase (Solana only)

5.4.0

  • Added allowedWithdrawSpeeds query parameter to allow merchants to specify what withdraw speeds are allowed. The default is all.

5.3.1

  • Added more chargebackProtectionData product types

5.3.0

  • Added partialUsdcChecked property to pre-check partial USDC payment checkbox

5.1.0

  • Added Multi-Currency Presentment via the presentment property

5.0.9

  • Improving Withdraw With Session Keys

5.0.8

  • credentialless added synchronously before render

5.0.7

  • Add credentialless to iframe

5.0.6

  • Fixing onAuthDeclined callback

5.0.5

  • Added seller prop to chargebackProtectionData

5.0.4

  • Added 3DS Challenge Handling to the standalone Google Pay button

5.0.3

  • Added allowedPaymentMethods to CoinflowPurchase
  • 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

5.0.2

5.0.2

  • Allow copy to clipboard for Coinflow Iframe

5.0.1

  • Added onAuthDeclined callback to CoinflowPurchase

5.0.0

  • Deprecating amount and token in 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;
}

4.5.2

  • Updating optional peer dependencies to play nice with various bundlers

4.5.1

  • Added sessionKey authentication mechanism to CoinflowWithdraw

4.5.0

  • Added sessionKey authentication mechanism to CoinflowPurchase

4.4.1

  • Added onError callback to Apple Pay and Google Pay buttons

4.4.0

  • Added overlay to digital wallet buttons to make the loading time 0

4.3.1

  • CoinflowPurchaseV2 component added for a modernized purchase flow

4.3.0

  • Added arbitrum blockchain support

4.2.10

  • Added getWalletFromEmail function to CoinflowUtils

4.2.9

  • Added placeholder CSS to card form elements

4.2.8

  • Custom fonts for card elements

4.2.5

  • Allow custom taker on reservoir transactions

4.2.4

  • Memoize styles on credit card inputs

4.1.0

  • Add base blockchain support
  • Added AuthOnly parameter to CoinflowPurchase

4.0.0

  • Require signMessage on wallets for stronger withdraw authentication

3.1.11

  • Added new ChargebackProtectionData productTypes

3.1.10

  • Added waitForHash to EvmTransactionData

3.1.9

  • Added theme props to Coinflow components for easy color control

3.1.8

  • Added orderId option for reservoir items

3.1.7

  • Added nativeSolToConvert for Solana transactions

3.1.5

  • Settlement type param for settlement control

3.1.4

  • Customer info param for added reporting capabilities

3.1.2

  • Added disableGooglePay and disableApplePay props to CoinflowPurchase

3.1.1

  • Added support for EVM NFT purchases

3.0.1

  • Update to CoinflowPurchaseProtection to make partnerId required
3.0.0

Breaking Changes

  • Added supportsVersionedTransactions to CoinflowWithdraw allowing platforms with wallets that support versioned transactions to Withdraw non-USDC/EuroE tokens in a single transaction with better prices.
  • This is enabled to true by default. If you are using a wallet that does not support versioned transactions, you must set supportsVersionedTransactions in CoinflowWithdraw to false.
2.7.1
  • Added new property lockDefaultToken which locks the withdrawal option to the users default currency (USDC or EUROe)
2.7.0
  • Added support for paying solana rent for a transaction
  • Added camera support document verification
2.6.1
  • Added built in support for SSR which fixes a "window not defined" error.
2.6.0
  • Added support for Apple Pay and Google Pay
2.5.0
  • Added the CoinflowCardForm component which allows merchants to collect credit card information from their users in a PCI compliant way. Tokenize it, and then utilize the remainder of Coinflow's APIs.
2.4.0
  • Added support for Ethereum Mainnet
2.3.2
  • Added typing for ChargebackProtectionData
  • Added token prop for CoinflowPurchase with polygon
2.3.0

Support Versioned Transactions in CoinflowPurchase

2.2.0

Added useSocket property to handle browser instances where iframe messages are unavailable

2.1.1
  • Bug fix to set useHeightChange url param to true if using the handleHeightChange prop
2.1.0
  • Added handleHeightChange to all components to allow for dynamic height changes
2.0.0
  • Removing hard requirements for most large 3rd party libraries
  • Improved type checking for wallets and transactions
1.3.0
  • Added support for Polygon blockchain
  • Added support for Solana Checkout with non-USDC tokens
1.2.0
  • Added support for Ethereum Mainnet blockchain
1.0.0
  • Added support for the NEAR blockchain
0.3.0
  • Added Withdraw and Purchase history components
0.2.11
  • Fixing bug with Magic Wallet and Versioned Transactions
0.2.9
  • Added the ability to sign transactions
0.2.6,0.2.7
  • Added CoinflowUtils.getFeePayer() to get the Coinflow fee payer PublicKey
0.2.5
  • Fixing an issue when passing partialSigners not working with the setup transaction
0.2.4
  • Setup and Redeem transactions now run gasless, which doesnt require the user to have SOL in their account to interact with coinflow
0.2.2,0.2.3
  • Added the optional debugTx parameter to allow for easier debugging of any redeem transaction related issues.
0.2.1
  • Added the optional partialSigners parameter to CoinflowPurchase component so redeem txs that require partial signers can be supported.
0.2.0
  • Added the transaction optional parameter to CoinflowPurchase component enabling automatic redemption of credits on purchases.

Keywords