First Payment in 5 Minutes
Testing: Inflow does not currently have a sandbox environment. Contact [email protected] to set up test mode on your account before running test payments.
Option 1: Dashboard (No Code)
The fastest way to accept a payment — create a payment link from the Dashboard.
- Go to Links in your Inflow Dashboard.
- Click Create Link.
- Enter a product name, amount, and currency.
- Click Create.
- Copy the generated link and share it with your customer.
When the customer opens the link, they see the Inflow hosted checkout page and can pay via local bank transfer, card (Visa, Mastercard, Amex, Discover), Apple Pay, or Google Pay.
Option 2: API (Checkout Redirect)
Create a payment programmatically and redirect your customer to the checkout.
Step 1: Create a Payment
curl -X POST https://api.inflowpay.xyz/api/checkout/payment \
-H "X-Inflow-Api-Key: inflow_priv_your_key" \
-H "Content-Type: application/json" \
-d '{
"products": [{ "name": "My Product", "price": 2999, "quantity": 1 }],
"currency": "EUR",
"customerEmail": "[email protected]",
"successUrl": "https://yoursite.com/success",
"cancelUrl": "https://yoursite.com/cancel"
}'Step 2: Redirect the Customer
The response includes a purchaseUrl. Redirect the customer to this URL:
{
"paymentId": "pay_abc123",
"purchaseUrl": "https://checkout.inflowpay.com/pay/pay_abc123"
}Step 3: Customer Completes Payment
After payment, the customer is redirected to your successUrl.
Option 3: SDK (Embedded Card Form)
Embed a card payment form directly on your website.
Step 1: Create a Payment (Backend)
const response = await fetch('https://api.inflowpay.xyz/api/server/payment', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-Inflow-Api-Key': process.env.INFLOW_PRIVATE_KEY
},
body: JSON.stringify({
products: [{ name: 'My Product', price: 2999, quantity: 1 }],
currency: 'EUR',
customerEmail: '[email protected]',
billingCountry: 'FR',
purchasingAsBusiness: false
})
});
const payment = await response.json();
// Send payment.id to your frontendStep 2: Mount the Card Form (Frontend)
<script src="https://cdn.jsdelivr.net/npm/@inflow_pay/sdk/dist/sdk.umd.js"></script>
<div id="card-container"></div>
<script>
const provider = new InflowPaySDK.InflowPayProvider({
config: { publicKey: 'inflow_pub_your_key' }
});
provider.createCardElement({
paymentId: 'pay_abc123', // From your backend
container: '#card-container',
onComplete: (result) => {
if (result.status === 'SUCCESS') {
alert('Payment successful!');
}
}
}).mount();
</script>Minimum Payment Amounts
Each currency has a minimum payment amount:
| Currency | Minimum |
|---|---|
| EUR | €1.50 |
| GBP | £1.00 |
| USD | $2.00 |
Prices in the API are in cents. For example, €1.50 =
150.
What Happens Next?
- The payment appears in your Payments dashboard.
- Your balance updates when the payment is settled.
- If you have webhooks configured, you'll receive a notification.
Updated 17 days ago