Developer documentation
HomeLogin
Enterprise API
Enterprise API
  • Authentication
    • Generate a private and a public certificate
    • Create a JWT token using your private key
  • Webhooks
  • Payment methods
    • Openbanking recurring payments
    • Openbanking payments
    • Card not present card payments
  • API reference
    • Payments
    • Payment methods
    • Customers
    • Settlements
    • Profiles
    • Specification
Powered by GitBook
On this page

Was this helpful?

  1. Payment methods

Openbanking recurring payments

PreviousPayment methodsNextOpenbanking payments

Last updated 6 months ago

Was this helpful?

Openbanking recurring payments are payments that have been authorised by an end user. That will be sent by an issuing bank to us. The payments can only be scheduled for fixed amounts at fixed intervals.

Steps to creating an openbanking recurring payment:

  1. Create an customer using the endpoint.

    Note that none of the information requested in customer object are required for openbanking payments. Altough for high risk businsess, we may require more informaiton to be sent.

  2. Create an payment method using the endpoint.

  3. Redirect the user to the link specific in the redirect.url field.

    1. When the user authorised the payment, the payment method state will change from created to succeeded.

    2. When the user rejected the authorisation, the payment method state will change from created to failed.

    3. You can skip our bank selection menu by suppling the following fields:

      1. openbanking.country

      2. openbanking.bic

      3. user.user_agent

      4. user.accept

      5. user.accept_encoding

      6. user.accept_language

      7. user.ip_address

      8. user.language

  4. Depending on the issuing bank, the first payment will arrive within a few minutes, to end of the next day. From this point on the payment is guaranteed.

  5. When the payment arrives with us, we will create the payment with the state succeeded, and call your webhook.

  6. If the first payment never arrives, we will change the payment method state from succeeded to failed.

  7. If subsequent payments will no longer arrive, and this is not because of insufficient funds, we will change the payment method state from succeeded to expired.

    1. In the authorisation process of the recurring payment, we will also generate a SEPA Direct Debit mandate, this mandate allowed you to still process the payment at a later date when funds are available.

Example payment method creation request

Example Openbanking Payment Request

Below is a sample request for creating an openbanking recurring payment using our API.

POST /v1/profiles/profile_c4f5e275fed234c98b38f90231/customers/customer_65382f2a7d804ccdb2021a7ede90680/payment-methods
Content-Type: application/json
Accept: application/json
Authorization: Bearer <your_access_token>

{
  "description": "Test description",
  "reference": "c75279b8-60f9-4a7d-a79a-3a231e967e24",
  "method": "openbanking",
  "openbanking": {
    "recurring": {
      "amount": 12583,
      "currency": "EUR",
      "frequency": "monthly",
    }
  }
}

Response

{
    "id": "payment_method_4c52e9aee8874f6ab7ed0420f649b5e2da3",
    "description": "Test description",
    "reference": "c75279b8-60f9-4a7d-a79a-3a231e967e24",
    "openbanking": {
        "recurring": {
            "amount": 12583,
            "currency": "EUR",
            "frequency": "monthly"
        }
    },
    "next": {
        "redirect": "https://dashboard.bankingservice.ai/payment-methods/payment_method_4c52e9aee8874f6abd0420f649b5e2da3/openbanking?reference=46c6255091e7a13cx7a6af81d0c4f7fe"
    },
    "method": "openbanking",
    "reference": "c75279b8-60f9-4a7d-a79a-3a231e967e24",
    "state": "created",
    "created": "2024-09-11T21:32:26.981Z",
    "_links": {
        "self": {
            "href": "/v1/profiles/profile_c4f5e275fed234c98b38f90231/customers/customer_65382f2a7d804ccdb2021a7ede90680/payment-methods/payment_method_4c52e9aee8874f6abd0420f649b5e2da3",
            "type": "application/json"
        },
        "customer": {
            "href": "/v1/profiles/profile_c4f5e275fed234c98b38f90231/customers/customer_65382f2a7d804ccdb2021a7ede90680",
            "type": "application/json"
        },
        "profile": {
            "href": "/v1/profiles/profile_c4f5e275fed234c98b38f90231",
            "type": "application/json"
        }
    }
}

Once the payment has been authorised the state of the payment will be:

{
    "id": "payment_method_4c52e9aee8874f6ab7ed0420f649b5e2da3",
    "description": "Test description",
    "reference": "c75279b8-60f9-4a7d-a79a-3a231e967e24",
    "sepa": {
        "last4": "8606",
        "bic": "ABNANL2A",
        "country": "NL",
        "holder_name": "JH DOE"
    },
    "openbanking": {
        "bic": "ABNANL2A",
        "country": "NL",
        "recurring": {
            "amount": 12583,
            "currency": "EUR",
            "frequency": "monthly"
        }
    },
    "method": "openbanking"
    "state": "succeeded",
    "created": "2024-09-11T21:32:26.981Z",
    "_links": {
        "self": {
            "href": "/v1/profiles/profile_c4f5e275fed234c98b38f90231/customers/customer_65382f2a7d804ccdb2021a7ede90680/payment-methods/payment_method_4c52e9aee8874f6ab7ed0420f649b5e2da3",
            "type": "application/json"
        },
        "customer": {
            "href": "/v1/profiles/profile_c4f5e275fed234c98b38f90231/customers/customer_65382f2a7d804ccdb2021a7ede90680",
            "type": "application/json"
        },
        "profile": {
            "href": "/v1/profiles/profile_c4f5e275fed234c98b38f90231",
            "type": "application/json"
        }
    }
}

The data of a subsequent payment will look like:

{
    "id": "payment_e04fd81843b943c58ef2fb8db9e66b2eec3",
    "method": "openbanking",
    "customer": "customer_65382f2a7d804ccdb2021a7ede90680",
    "payment-method": "payment_method_4c52e9aee8874f6ab7ed0420f649b5e2da3",
    "currency": "EUR",
    "amount": 12583,
    "sepa": {
        "last4": "8606",
        "bic": "ABNANL2A",
        "country": "NL",
        "holder_name": "JH DOE"
    },
    "description": "Recurring transfer for (pm7cf38f1dce0b673108dc85e2f7080d1bx)",
    "state": "succeeded",
    "metadata": null,
    "created": "2023-19-12T08:30:35.758Z",
    "_links": {
        "self": {
            "href": "/v1/profiles/profile_c4f5e275fe28fc98b38f90231/payments/payment_e04fd81843b943c58ef2fb8db9e66b2eec3",
            "type": "application/json"
        },
        "profile": {
            "href": "/v1/profiles/profile_c4f5e275fe28fc98b38f90231",
            "type": "application/json"
        },
        "customer": {
            "href": "/v1/profiles/profile_c4f5e275fe28fc98b38f90231/customers/customer_65382f2a7d804ccdb2021a7ede90680",
            "type": "application/json"
        },
        "payment-method": {
            "href": "/v1/profiles/profile_c4f5e275fe28fc98b38f90231/customers/payment-methods/payment_method_4c52e9aee8874f6ab7ed0420f649b5e2da3",
            "type": "application/json"
        }
    }
}

#v1-profiles-profileid-payments-1
#v1-profiles-profileid-customers-1
Drawing