@payinto/checkout-sdk
v1.0.0
Published
Payinto Checkout SDK for popup payments (token and public_key modes)
Maintainers
Readme
@payinto/checkout-sdk
The official Payinto Checkout SDK for web applications. Securely accept payments using the Payinto popup checkout.
Installation
npm
npm install @payinto/checkout-sdkCDN
<script src="https://checkout.payinto.co/v1/checkout.js"></script>Quick Start
Modern Web App (npm)
import PayintoCheckout from '@payinto/checkout-sdk';
const handlePayment = () => {
PayintoCheckout.open({
mode: 'public_key',
public_key: 'pk_live_your_public_key',
amount: 10000, // Amount in minor units (e.g., 10000 = 100.00)
currency: 'NGN',
customer: {
email: '[email protected]',
name: 'John Doe'
},
onSuccess: (response) => {
console.log('Payment successful:', response);
},
onClose: () => {
console.log('Checkout closed');
},
onError: (error) => {
console.error('Payment failed:', error);
}
});
};Script Tag (CDN)
window.PayintoCheckout.open({
mode: 'public_key',
public_key: 'pk_live_your_public_key',
// ...other options
});Options
| Option | Type | Required | Description |
|--------|------|----------|-------------|
| mode | string | Yes | Use 'public_key' for merchant integrations. |
| public_key | string | Yes | Your Payinto public key. |
| amount | number | Yes | The transaction amount in minor units. |
| currency | string | No | Currency code (default: 'NGN'). |
| customer | object | Yes | Customer details (email is required). |
| reference | string | No | Unique transaction reference. |
| metadata | object | No | Additional data for the transaction. |
| redirect_url| string | No | URL to redirect to after successful payment. |
| onSuccess | function| No | Callback on successful payment. |
| onClose | function| No | Callback when the checkout is closed. |
| onError | function| No | Callback on error. |
Event Payloads
Success
{
type: 'checkout.success',
status: 'success',
reference: string,
token: string
}Error
{
type: 'checkout.error',
code: string,
message: string
}Security
- The SDK validates message origins against an internal allowlist.
- It uses a secure iframe to isolate the payment process.
- Never expose your Secret Keys in client-side code.
License
MIT
