Open Banking (Rillpay)

ID: openbanking-rillpay | Provider: Rillpay | Region: EU

Overview

Open Banking (account-to-account) payments routed through the Rillpay gateway. The customer is redirected to a Rillpay-hosted flow to pick their bank and authorize a single-immediate payment (SIP). Funds are pulled directly from the customer's bank account.

paymentMethod Fields

Field Required Description
id yes Must be openbanking-rillpay
customerType yes Customer segmentation used by Rillpay. One of new, new_affiliate, existing.
kycStatus yes Current KYC status. One of verified, unverified. When verified, Rillpay skips its own KYC step.

customerType Values

Value Meaning
new First-time depositor
new_affiliate First-time depositor acquired through an affiliate channel
existing Returning customer that has previously transacted

Conditional Customer Requirements

When paymentMethod.id is openbanking-rillpay, the following customer fields are required in addition to customer.id:

  • email
  • firstName
  • lastName
  • dateOfBirth (ISO YYYY-MM-DD)
  • nationality (ISO 3166-1 alpha-2 country code)

Omitting any of these returns a 422 validation error. Note that phone is not required for Open Banking (unlike Card Rillpay).

Request Example

{
  "paymentMethod": {
    "id": "openbanking-rillpay",
    "customerType": "existing",
    "kycStatus": "verified"
  },
  "reference": "ORDER-12345",
  "customer": {
    "id": "cust_abc123",
    "email": "customer@example.com",
    "firstName": "John",
    "lastName": "Doe",
    "dateOfBirth": "1990-01-15",
    "nationality": "DE",
    "ip": "192.168.1.1"
  },
  "amount": "200.00",
  "currency": "EUR",
  "returnLinks": {
    "default": "https://yourproduct.com/return",
    "cancel": "https://yourproduct.com/cancel"
  }
}

Response Action

Rillpay always returns a redirect action. Redirect the customer to action.url - they will pick their bank and authorize the payment through their banking app / web flow.

{
  "type": "redirect",
  "method": "GET",
  "url": "https://checkout.rillpay.com/cc-form?gdata=...&m=...",
  "expiresAt": "2025-11-18T14:45:00.000+00:00"
}

The redirect URL is short-lived (typically a few minutes). If the customer does not reach Rillpay before expiresAt, create a new intent.

Status Flow

  1. requires_action - redirect the customer to action.url.
  2. processing - the customer has authorized; Rillpay is waiting for settlement confirmation.
  3. succeeded - payment captured. Fulfill the order.
  4. failed - bank rejected the payment or provider error.
  5. canceled - the customer abandoned the flow or the redirect expired.

Webhook Events

Open Banking payments emit the full set of payment intent events (payment_intent.initiated, payment_intent.requires_action, payment_intent.processing, payment_intent.succeeded, payment_intent.failed, payment_intent.canceled) and the associated payment.* events once a payment is created.