Skip to main content

Direct Payins

Accept fiat payments from Payers and settle funds directly into your bank account.

For request/response schemas and field-level details, see the API Reference.


When to Use This Flow

Use Direct Payins when you want to:

  • Receive fiat payments directly into your bank account
  • Let Payers pay via open banking
  • Offload bank UX and redirects to Yugo's hosted checkout

Prerequisites

Before using this flow, you must be onboarded as a Merchant with Yugo and have a merchant account opened.

During onboarding, Yugo configures:

  • One or more IBANs where funds can be settled
  • Your API credentials for accessing the API

For each Payin Intent, you specify which IBAN (from the pre-configured list) should be used for Settlement.

These settings are configured once during onboarding and are not provided dynamically in each API request.


Integration Flow

Step 1 (Optional): List Available Banks

If you want to preselect or display supported banks before checkout, retrieve them via the API. If omitted, the Payer selects their bank inside Yugo Checkout.

API Reference: View Get Banks API


Step 2: Create a Payin Intent

Create a Payin Intent specifying the amount, Payer details, payment method, settlement method, and callback URLs.

API Reference: POST /payins View Create Payin API

Minimal Payin Intent Request
{
"amount": {
"value": "100.00",
"currency": "EUR"
},
"payer": {
"email": "payer@example.com",
"first_name": "John",
"last_name": "Doe",
"country": "DE"
},
"reference": "order_123",
"return_url": "https://merchant.com/checkout/complete",
"webhook_url": "https://merchant.com/api/webhooks/payins",
"payment": {
"method": "bank_account"
},
"settlement": {
"method": "bank_account",
"iban": "DE89370400440532013000"
}
}

Key fields:

  • payment.method = bank_account — triggers the open banking authorization flow
  • settlement.method = bank_account — funds settle directly to the specified IBAN
  • settlement.iban — the Merchant's pre-configured IBAN for receiving funds

For payment-method-specific behavior, see Open Banking.


Step 3: Redirect the Payer

The Payin response contains a redirect_url. Redirect the Payer to this URL to continue the payment.

At this point:

  • Yugo hosts the checkout experience (in some cases this step is skipped)
  • The Payer completes the authorization flow for their chosen payment method
  • After completion, the Payer is redirected back to the Merchant's return_url
tip

The more payment details the Merchant supplies when creating the Payin Intent, the less friction for the Payer after redirect. In some cases, the Payer may be redirected directly back to the Merchant.

For Open Banking specifically:

  • The Payer selects their bank (or is redirected directly if pre-selected)
  • The Payer authorizes the payment via their bank's authentication flow

For details, see Open Banking — Authorization Flow.


Step 4: Track Payin Status

Option A: Webhooks

Yugo sends a webhook every time the Payin status changes.

When you receive a webhook, we recommend verifying the updated status via the API (Option B).

API Reference: View Webhook Reference

Option B: Polling

You can retrieve the current Payin status at any time.

API Reference: GET /payins/{id} View Get Payin API

Status Lifecycle

See the Payin Status Lifecycle for the full state diagram and status definitions per payment and settlement method combination.

Status lifecycle for this flow:

StatusMeaning
INTENTPayin Intent created by Merchant
INITIATEDAuthorization process initiated (redirect link generated)
AUTHORIZEDPayment authorized by Payer's bank
COMPLETEDPayin completed. Does not guarantee settled funds into Merchant's bank account.
FAILEDAuthorization failed or rejected by bank
EXPIREDPayin session expired

For the full state diagram, see Status Lifecycle.


Settlement

For Direct Payins with open banking:

  • Bank authorization is real-time
  • Yugo is not notified after the bank completes the final money transfer
  • Using Instant SEPA, Settlement typically completes within 1–2 minutes

For full settlement details, see Bank Account Settlement.