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.

  1. Go to Links in your Inflow Dashboard.
  2. Click Create Link.
  3. Enter a product name, amount, and currency.
  4. Click Create.
  5. 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 frontend

Step 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:

CurrencyMinimum
EUR€1.50
GBP£1.00
USD$2.00

Prices in the API are in cents. For example, €1.50 = 150.

What Happens Next?

  1. The payment appears in your Payments dashboard.
  2. Your balance updates when the payment is settled.
  3. If you have webhooks configured, you'll receive a notification.