View Categories

Create Payment Method – IBAN

1 min read

Create Payment Method – IBAN #

Registers an IBAN-based payment method for an individual user (e.g., external bank account for payouts).

Endpoint #

POST https://api-test.10npay.com/api/v1/IndividualPaymentMethod/{individualId}/iban

Headers #

  • Authorization: Bearer <access_token>
  • Content-Type: application/json
  • Accept: application/json

Path Parameter #

Name Description
individualId CRM individual ID (same one returned after onboarding).

Request Body #

{
  "accountName": "Acme OOD",
  "bankName": "Bank of Somewhere",
  "bankStatement": "BASE64...",
  "bankStatementFileName": "statement.pdf",
  "ibanNumber": "BG66TEST12345678901234",
  "swift": "TESTBGSF",
  "currency": "BGN",
  "status": "PendingReview"
}

Fields & Validation #

Field Rules
accountName Required. Latin/Cyrillic letters, length < 150 (per Constants.NameLength).
bankName Required. Must match institution-name regex (letters, digits, punctuation).
bankStatement Required. Base64-encoded PDF/image; must pass regex + base64 validation.
bankStatementFileName Required. File name ≤ 255 chars, matches file-name regex.
ibanNumber Required. Must be a valid IBAN (ISO 13616 check).
swift Required. Must match SWIFT/BIC regex.
currency ISO 4217, 3 uppercase letters; must be supported currency.
status One of the PaymentMethodStatus enum keys (e.g., PendingReview, Active).

Responses #

  • 200 OK – IBAN registered (empty body; status transitions to review/approval).
  • 400 Bad Request – validation failure. Example:
    {
      "errors": {
        "Error": [
          "'SWIFT Code' is not valid.",
          "'Currency' must be three uppercase letter.",
          "'Bank Statement' is not valid."
        ]
      },
      "title": "Bad Request",
      "status": 400
    }
    
  • 404 Not Found – individual not found / inactive.
  • 500 Internal Server Error – unexpected backend failure.

Notes #

  • The individual must be Active and have <= 20 payment methods in total.
  • Provide a recent bank statement (PDF/JPG) encoded as Base64 to comply with KYC.
  • Use GET /api/v1/IndividualPaymentMethod/{individualId} to check the review state after submission.