Skip to main content

Open Banking → Merchant Named Bank Account

Receive Open Banking payments and settle as fiat in a Merchant Named Bank Account.

Payment method: bank_account | Settlement method: yugo_balance

Settlement destination

The request is identical to settling as crypto — you always send settlement.method = yugo_balance. Whether your Yugo balance is held as fiat in a Merchant Named Bank Account or converted to crypto in a Yugo wallet is configured per Merchant in the Yugo backend during onboarding, not in the API request.

Prerequisites

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

During onboarding, Yugo configures:

  • Supported fiat currencies
  • A Merchant Named Bank Account opened in the Merchant's name, which Yugo has delegated access to manage
  • An account with access to the Yugo Business Portal, where you retrieve your API Key and Webhook secret

Some of these settings are configured during onboarding and are not passed dynamically in each API request — check the API Reference for the exact request fields.

1. Create the Payin Intent

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": "yugo_balance"
}
}

Key fields:

  • payment.method = bank_account — triggers the Open Banking authorization flow
  • settlement.method = yugo_balance — funds are delivered to your Yugo balance; the fiat/crypto destination is set by your Merchant configuration
Optional

To preselect or display supported banks before checkout, list them first.

API Reference: View Get Banks API

2. 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.

The Payer selects their bank (or is redirected directly if pre-selected) and authorizes the payment via their bank's authentication flow. See Open Banking — Authorization Flow.

3. 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.

StatusMeaning
CREATEDPayin Intent created by Merchant
INITIATEDAuthorization process initiated (redirect link generated)
AUTHORIZEDPayment authorized by Payer's bank
RECEIVEDFunds received in the Merchant Named Bank Account
SETTLEDFunds settled in Merchant's Yugo Balance
COMPLETEDTransaction finalized.
FAILEDAuthorization failed or rejected by bank
EXPIREDPayin session expired

Safe to release goods or services to the Payer from this status.

Deep dive