This guide will walk you through the essential steps to install @blocklet/payment-react and integrate a basic, functional payment form into your application. In just a few minutes, you'll have a working checkout experience.
Step 1: Installation
First, add the library to your project using npm or your preferred package manager.
Installation Command
npm install @blocklet/payment-reactStep 2: Set Up the PaymentProvider
Most components in this library require access to a shared payment context. The PaymentProvider component provides this context and must be placed at the root of your application or component tree where payments will be handled.
It requires a session object and a connect API function from your application's authentication context to work correctly.
App.tsx
import { PaymentProvider } from '@blocklet/payment-react';
// This is a placeholder for your app's authentication context hook.
// It should return the current user session and an API connector.
import { useSessionContext } from './contexts/session';
function App({ children }) {
const { session, connectApi } = useSessionContext();
return (
<PaymentProvider session={session} connect={connectApi}>
{/* Your payment components will go here */}
{children}
</PaymentProvider>
);
}For detailed information on setting up your session context and for advanced
PaymentProviderconfigurations, please see the PaymentProvider documentation.
Step 3: Add a CheckoutForm
The CheckoutForm is the primary component for rendering a payment flow. It can handle both one-time payments and subscriptions initiated from a Payment Link.
To use it, simply place it inside the PaymentProvider and pass the required id of a Payment Link (plink_...) or a Checkout Session (cs_...).
Complete Example
Here is a complete, minimal example that combines the steps above. You can use this code as a starting point for your integration.
PaymentPage.tsx
import { PaymentProvider, CheckoutForm } from '@blocklet/payment-react';
// This is a placeholder for your app's authentication context hook.
import { useSessionContext } from './contexts/session';
function PaymentPage() {
const { session, connectApi } = useSessionContext();
// A Payment Link ID is generated from your Payment Kit dashboard.
const paymentLinkId = 'plink_xxx';
return (
<PaymentProvider session={session} connect={connectApi}>
<CheckoutForm
id={paymentLinkId}
mode="inline" // Embeds the form directly into your page
showCheckoutSummary={true}
onChange={(state) => console.log('Checkout State Changed:', state)}
onPaid={(result) => console.log('Payment Successful:', result)}
/>
</PaymentProvider>
);
}
export default PaymentPage;With this setup, the CheckoutForm will render a complete payment UI, handle user input, and process the transaction seamlessly.
Next Steps
Congratulations! You've successfully integrated your first payment form. Now you're ready to explore more advanced features and components.
- CheckoutForm: Dive deeper into the
CheckoutFormprops and customization options. - Providers: Learn more about the context providers that power the library.
- Components: Discover the full range of UI and business logic components available.