Create a Payment Method

post

/brm/paymentMethods/v4/paymentMethod

The operation creates a payment method.

Request

There are no request parameters for this operation.

Supported Media Types
Request Body - application/json;charset=utf-8 ()
Root Schema : schema
Match One Schema
Show Source
  • Cash
    Specifies a cash payment method with no additional data. You can extend it to include information such as the cashier who accepted the payment or the person who paid.
  • Check
    Specifies a check payment method.
  • BankAccountDebit
    Specifies a bank account debit payment method. You can extend it to include any authorization fields that recurring payments require.
  • BankCard
    Specifies a bank card payment method.
  • TokenizedCard
    Specifies a tokenized card payment method.
Nested Schema : Cash
Type: object
Specifies a cash payment method with no additional data. You can extend it to include information such as the cashier who accepted the payment or the person who paid.
Show Source
Match All
Specifies a cash payment method with no additional data. You can extend it to include information such as the cashier who accepted the payment or the person who paid.
Show Source
  • PaymentMethod
    Specifies the base model for the implemented cash, check, bank account debit, bank card, and tokenized card payment methods.
Nested Schema : Check
Type: object
Specifies a check payment method.
Show Source
Match All
Specifies a check payment method.
Show Source
  • PaymentMethod
    Specifies the base model for the implemented cash, check, bank account debit, bank card, and tokenized card payment methods.
Nested Schema : BankAccountDebit
Type: object
Specifies a bank account debit payment method. You can extend it to include any authorization fields that recurring payments require.
Show Source
Match All
Specifies a bank account debit payment method. You can extend it to include any authorization fields that recurring payments require.
Show Source
  • PaymentMethod
    Specifies the base model for the implemented cash, check, bank account debit, bank card, and tokenized card payment methods.
Nested Schema : BankCard
Type: object
Specifies a bank card payment method.
Show Source
Match All
Specifies a bank card payment method.
Show Source
  • PaymentMethod
    Specifies the base model for the implemented cash, check, bank account debit, bank card, and tokenized card payment methods.
Nested Schema : TokenizedCard
Type: object
Specifies a tokenized card payment method.
Show Source
Match All
Specifies a tokenized card payment method.
Show Source
  • PaymentMethod
    Specifies the base model for the implemented cash, check, bank account debit, bank card, and tokenized card payment methods.
Nested Schema : PaymentMethod
Type: object
Specifies the base model for the implemented cash, check, bank account debit, bank card, and tokenized card payment methods.
Show Source
Match All
Specifies the base model for the implemented cash, check, bank account debit, bank card, and tokenized card payment methods.
Show Source
Nested Schema : Entity
Type: object
Represents a base entity schema for TM Forum Open APIs.
Match All
Represents a base entity schema for TM Forum Open APIs.
Represents a base entity schema for TM Forum Open APIs.
Show Source
Nested Schema : Extensible
Type: object
Represents a base extensible schema for TM Forum Open APIs. The entity must include @type.
Show Source
Nested Schema : Addressable
Type: object
Defines a base schema for addressable entities.
Show Source
Back to Top

Response

Supported Media Types

201 Response

The payment method was created successfully.
Body ()
Root Schema : schema
Match One Schema
Show Source
  • Cash
    Specifies a cash payment method with no additional data. You can extend it to include information such as the cashier who accepted the payment or the person who paid.
  • Check
    Specifies a check payment method.
  • BankAccountDebit
    Specifies a bank account debit payment method. You can extend it to include any authorization fields that recurring payments require.
  • BankCard
    Specifies a bank card payment method.
  • TokenizedCard
    Specifies a tokenized card payment method.
Nested Schema : Cash
Type: object
Specifies a cash payment method with no additional data. You can extend it to include information such as the cashier who accepted the payment or the person who paid.
Show Source
Match All
Specifies a cash payment method with no additional data. You can extend it to include information such as the cashier who accepted the payment or the person who paid.
Show Source
  • PaymentMethod
    Specifies the base model for the implemented cash, check, bank account debit, bank card, and tokenized card payment methods.
Nested Schema : Check
Type: object
Specifies a check payment method.
Show Source
Match All
Specifies a check payment method.
Show Source
  • PaymentMethod
    Specifies the base model for the implemented cash, check, bank account debit, bank card, and tokenized card payment methods.
Nested Schema : BankAccountDebit
Type: object
Specifies a bank account debit payment method. You can extend it to include any authorization fields that recurring payments require.
Show Source
Match All
Specifies a bank account debit payment method. You can extend it to include any authorization fields that recurring payments require.
Show Source
  • PaymentMethod
    Specifies the base model for the implemented cash, check, bank account debit, bank card, and tokenized card payment methods.
Nested Schema : BankCard
Type: object
Specifies a bank card payment method.
Show Source
Match All
Specifies a bank card payment method.
Show Source
  • PaymentMethod
    Specifies the base model for the implemented cash, check, bank account debit, bank card, and tokenized card payment methods.
Nested Schema : TokenizedCard
Type: object
Specifies a tokenized card payment method.
Show Source
Match All
Specifies a tokenized card payment method.
Show Source
  • PaymentMethod
    Specifies the base model for the implemented cash, check, bank account debit, bank card, and tokenized card payment methods.
Nested Schema : PaymentMethod
Type: object
Specifies the base model for the implemented cash, check, bank account debit, bank card, and tokenized card payment methods.
Show Source
Match All
Specifies the base model for the implemented cash, check, bank account debit, bank card, and tokenized card payment methods.
Show Source
Nested Schema : Entity
Type: object
Represents a base entity schema for TM Forum Open APIs.
Match All
Represents a base entity schema for TM Forum Open APIs.
Represents a base entity schema for TM Forum Open APIs.
Show Source
Nested Schema : Extensible
Type: object
Represents a base extensible schema for TM Forum Open APIs. The entity must include @type.
Show Source
Nested Schema : Addressable
Type: object
Defines a base schema for addressable entities.
Show Source

400 Response

The request isn't valid.
Body ()
Root Schema : Error
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Match All
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Show Source
Nested Schema : Extensible
Type: object
Represents a base extensible schema for TM Forum Open APIs. The entity must include @type.
Show Source
Nested Schema : Error-allOf[1]
Type: object
Show Source

401 Response

The client doesn't have the correct privileges.
Body ()
Root Schema : Error
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Match All
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Show Source
Nested Schema : Extensible
Type: object
Represents a base extensible schema for TM Forum Open APIs. The entity must include @type.
Show Source
Nested Schema : Error-allOf[1]
Type: object
Show Source

403 Response

The request wasn't authorized.
Body ()
Root Schema : Error
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Match All
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Show Source
Nested Schema : Extensible
Type: object
Represents a base extensible schema for TM Forum Open APIs. The entity must include @type.
Show Source
Nested Schema : Error-allOf[1]
Type: object
Show Source

405 Response

This method is not allowed.
Body ()
Root Schema : Error
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Match All
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Show Source
Nested Schema : Extensible
Type: object
Represents a base extensible schema for TM Forum Open APIs. The entity must include @type.
Show Source
Nested Schema : Error-allOf[1]
Type: object
Show Source

409 Response

The request could not be processed due to the conflict with the existing state of the resource.
Body ()
Root Schema : Error
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Match All
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Show Source
Nested Schema : Extensible
Type: object
Represents a base extensible schema for TM Forum Open APIs. The entity must include @type.
Show Source
Nested Schema : Error-allOf[1]
Type: object
Show Source

500 Response

The system encountered an internal error.
Body ()
Root Schema : Error
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Match All
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Represents an error returned by an API, typically with an HTTP 3xx, 4xx, or 5xx response code.
Show Source
Nested Schema : Extensible
Type: object
Represents a base extensible schema for TM Forum Open APIs. The entity must include @type.
Show Source
Nested Schema : Error-allOf[1]
Type: object
Show Source
Back to Top

Examples

The following examples show how to create payment methods by submitting POST requests on the REST resource using cURL. Examples 1 and 3 through 6 show core payment methods. Examples 2 and 7 show BRM SDK extended payment methods. For more information, see Use cURL.

Example 1: Payment method creation for direct debit (payinfo/dd).

The following request uses the documented payload.

curl -X POST 'http://host:port/brm/paymentMethods/version/paymentMethod' -H 'Content-Type: application/json;charset=utf-8' -d @createPaymentMethod1.json

where:

  • hostname is the URL for the REST server.
  • port is the port for the REST server.
  • version is the version of the API you're using, such as v1. For Payment Method API, v1 and v4 are supported. In BRM 16.26, v4 support is limited to payment methods with the following @type values: bankCard, cash, check, bankAccountDebit, and tokenizedCard.
  • The -d option specifies the sample request body file.

Example of Request Body

The following example shows the contents of the request body file.

{
  "name": "Main Direct Debit",
  "isPreferred": false,
  "account": [
    {
      "id": "0.0.0.1+-account+228562"
    }
  ],
  "@type": "bankAccountDebit",
  "accountNumber": "12345678901234567",
  "accountNumberType": "None",
  "owner": "ABC ABC",
  "bank": "Fictitious Bank.inc"
}

Example of Response Body

The following example shows the contents of the response body.

{
  "id": "0.0.0.1+-payinfo-dd+1067067",
  "href": "http://host:port/brm/paymentMethods/v4/paymentMethod/0.0.0.1+-payinfo-dd+1067067",
  "account": [
    {
      "id": "0.0.0.1+-account+228562"
    }
  ],
  "accountNumberType": "None",
  "accountNumber": "12345678901234567",
  "name": "Main Direct Debit",
  "owner": "ABC ABC",
  "isPreferred": false,
  "@type": "bankAccountDebit",
  "bank": "Fictitious Bank.inc"
}

Example 2: Create an extended Invoice payment method.

The following request uses the documented payload.

curl -X POST 'http://host:port/brm/paymentMethods/version/paymentMethod' -H 'Content-Type: application/json;charset=utf-8' -d @createPaymentMethod2.json

where:

  • hostname is the URL for the REST server.
  • port is the port for the REST server.
  • version is the version of the API you're using, such as v1. For Payment Method API, v1 and v4 are supported. In BRM 16.26, v4 support is limited to payment methods with the following @type values: bankCard, cash, check, bankAccountDebit, and tokenizedCard.
  • The -d option specifies the sample request body file.

Example of Request Body

The following example shows the contents of the request body file.

{
  "name": "New Invoice-1",
  "isPreferred": true,
  "account": [
    {
      "id": "0.0.0.1+-account+228562"
    }
  ],
  "@type": "invoice",
  "mediumType": "emailAddress",
  "emailAddress": "abc@xyz.com",
  "invoiceName": "test ps8",
  "street": "KAR",
  "city": "KAR",
  "stateOrProvince": "KAR",
  "postCode": "147001",
  "country": "AF"
}

Example of Response Body

The following example shows the contents of the response body.

{
  "emailAddress": "abc@xyz.com",
  "city": "KAR",
  "id": "0.0.0.1+-payinfo-invoice+1062471",
  "href": "http://host:port/brm/paymentMethods/v4/paymentMethod/0.0.0.1+-payinfo-invoice+1062471",
  "account": [
    {
      "id": "0.0.0.1+-account+228562"
    }
  ],
  "country": "AF",
  "invoiceName": "test ps8",
  "name": "New Invoice-1",
  "street": "KAR",
  "stateOrProvince": "KAR",
  "postCode": "147001",
  "isPreferred": true,
  "@type": "invoice"
}

Example 3: Payment method creation for credit card(payinfo/cc).

The following request uses the documented payload.

curl -X POST 'http://host:port/brm/paymentMethods/version/paymentMethod' -H 'Content-Type: application/json;charset=utf-8' -d @createPaymentMethod3.json

where:

  • hostname is the URL for the REST server.
  • port is the port for the REST server.
  • version is the version of the API you're using, such as v1. For Payment Method API, v1 and v4 are supported. In BRM 16.26, v4 support is limited to payment methods with the following @type values: bankCard, cash, check, bankAccountDebit, and tokenizedCard.
  • The -d option specifies the sample request body file.

Example of Request Body

The following example shows the contents of the request body file.

{
  "name": "Main Direcct Debit",
  "isPreferred": false,
  "account": [
    {
      "id": "0.0.0.1+-account+228562"
    }
  ],
  "@type": "bankCard",
  "city": "KAR",
  "country": "AF",
  "street": "KAR",
  "stateOrProvince": "KAR",
  "postCode": "147001",
  "cardType": "credit",
  "nameOnCard": "New CC",
  "expirationDate": "0325",
  "cardNumber": "2222 3333 4444 5555",
  "brand": "visa"
}

Example of Response Body

The following example shows the contents of the response body.

{
  "id": "0.0.0.1+-payinfo-cc+1070424",
  "href": "http://host:port/brm/paymentMethods/v4/paymentMethod/0.0.0.1+-payinfo-cc+1070424",
  "account": [
    {
      "id": "0.0.0.1+-account+228562"
    }
  ],
  "nameOnCard": "New CC",
  "street": "KAR",
  "cardType": "credit",
  "postCode": "147001",
  "name": "Main Direcct Debit",
  "cardNumber": "2222333344445555   ",
  "city": "KAR",
  "country": "AF",
  "stateOrProvince": "KAR",
  "@type": "bankCard",
  "brand": "visa",
  "isPreferred": false
}

Example 4: Create a cash payment method.

The following request uses a tested cash payment-method payload.

curl -X POST 'http://host:port/brm/paymentMethods/version/paymentMethod' -H 'Content-Type: application/json;charset=utf-8' -d @createCashPaymentMethod.json

where:

  • hostname is the URL for the REST server.
  • port is the port for the REST server.
  • version is the version of the API you're using, such as v1. For Payment Method API, v1 and v4 are supported. In BRM 16.26, v4 support is limited to payment methods with the following @type values: bankCard, cash, check, bankAccountDebit, and tokenizedCard.
  • The -d option specifies the sample request body file.

Example of Request Body

The following example shows the contents of the request body file.

{
  "name": "Complete Cash Payment",
  "account": [
    {
      "id": "payment_account_usa"
    }
  ],
  "isPreferred": false,
  "@type": "cash",
  "@baseType": "PaymentMethod",
  "recieptNo": "CASH-RECEIPT-1001",
  "effectiveDate": "2026-01-01T08:40:00Z"
}

Example of Response Body

The following example shows the contents of the response body.

{
  "id": "payment-cash-complete-1",
  "href": "http://host:port/brm/paymentMethods/v4/paymentMethod/payment-cash-complete-1",
  "name": "Complete Cash Payment",
  "account": [
    {
      "id": "payment_account_usa"
    }
  ],
  "isPreferred": false,
  "@type": "cash",
  "@baseType": "PaymentMethod",
  "recieptNo": "CASH-RECEIPT-1001",
  "effectiveDate": "2026-01-01T08:40:00.00Z"
}

Example 5: Create a check payment method.

The following request uses a tested check payment-method payload.

curl -X POST 'http://host:port/brm/paymentMethods/version/paymentMethod' -H 'Content-Type: application/json;charset=utf-8' -d @createCheckPaymentMethod.json

where:

  • hostname is the URL for the REST server.
  • port is the port for the REST server.
  • version is the version of the API you're using, such as v1. For Payment Method API, v1 and v4 are supported. In BRM 16.26, v4 support is limited to payment methods with the following @type values: bankCard, cash, check, bankAccountDebit, and tokenizedCard.
  • The -d option specifies the sample request body file.

Example of Request Body

The following example shows the contents of the request body file.

{
  "name": "Complete Check Payment",
  "account": [
    {
      "id": "payment_account_usa"
    }
  ],
  "isPreferred": false,
  "@type": "check",
  "@baseType": "PaymentMethod",
  "checkId": "CHECK-1001",
  "drawer": "ABC Telecom Ltd",
  "payee": "Oracle Corporation",
  "signedDate": "2026-01-01T08:40:00Z",
  "bank": "HSBC Bank"
}

Example of Response Body

The following example shows the contents of the response body.

{
  "id": "payment-check-complete-1",
  "href": "http://host:port/brm/paymentMethods/v4/paymentMethod/payment-check-complete-1",
  "name": "Complete Check Payment",
  "account": [
    {
      "id": "payment_account_usa"
    }
  ],
  "isPreferred": false,
  "@type": "check",
  "@baseType": "PaymentMethod",
  "checkId": "CHECK-1001",
  "drawer": "ABC Telecom Ltd",
  "payee": "Oracle Corporation",
  "signedDate": "2026-01-01T08:40:00.00Z",
  "bank": "HSBC Bank"
}

Example 6: Create a tokenized card payment method.

The following request uses a tested tokenized-card payment-method payload.

curl -X POST 'http://host:port/brm/paymentMethods/version/paymentMethod' -H 'Content-Type: application/json;charset=utf-8' -d @createTokenizedCardPaymentMethod.json

where:

  • hostname is the URL for the REST server.
  • port is the port for the REST server.
  • version is the version of the API you're using, such as v1. For Payment Method API, v1 and v4 are supported. In BRM 16.26, v4 support is limited to payment methods with the following @type values: bankCard, cash, check, bankAccountDebit, and tokenizedCard.
  • The -d option specifies the sample request body file.

Example of Request Body

The following example shows the contents of the request body file.

{
  "name": "Complete Tokenized Card",
  "account": [
    {
      "id": "payment_account_usa"
    }
  ],
  "isPreferred": false,
  "@type": "tokenizedCard",
  "@baseType": "PaymentMethod",
  "cardType": "unknown",
  "brand": "visa",
  "tokenType": "Token for Visa",
  "lastFourDigits": "4242",
  "expirationDate": "0328",
  "token": "4242424242424242"
}

Example of Response Body

The following example shows the contents of the response body.

{
  "id": "payment-tokenizedCard-complete-1",
  "href": "http://host:port/brm/paymentMethods/v4/paymentMethod/payment-tokenizedCard-complete-1",
  "name": "Complete Tokenized Card",
  "account": [
    {
      "id": "payment_account_usa"
    }
  ],
  "isPreferred": false,
  "@type": "tokenizedCard",
  "@baseType": "PaymentMethod",
  "cardType": "unknown",
  "brand": "visa",
  "tokenType": "Token for Visa",
  "lastFourDigits": "4242",
  "expirationDate": "0328",
  "token": "4242424242424242"
}

Example 7: Create an extended SEPA payment method.

The following request uses a tested SEPA payment-method payload.

curl -X POST 'http://host:port/brm/paymentMethods/version/paymentMethod' -H 'Content-Type: application/json;charset=utf-8' -d @createSepaPaymentMethod.json

where:

  • hostname is the URL for the REST server.
  • port is the port for the REST server.
  • version is the version of the API you're using, such as v1. For Payment Method API, v1 and v4 are supported. In BRM 16.26, v4 support is limited to payment methods with the following @type values: bankCard, cash, check, bankAccountDebit, and tokenizedCard.
  • The -d option specifies the sample request body file.

Example of Request Body

The following example shows the contents of the request body file.

{
  "name": "Complete SEPA Payment",
  "account": [
    {
      "id": "payment_account_euro"
    }
  ],
  "isPreferred": false,
  "@type": "sepa",
  "@baseType": "PaymentMethodOracle",
  "BIC": "DEUTDEFF",
  "bankAccountNumber": "DE89370400440532013000",
  "city": "Frankfurt",
  "country": "DE",
  "mandateSignedDate": "2026-01-01T08:40:00Z",
  "mandateType": "Recurring",
  "creditorId": "DE98ZZZ09999999999",
  "creditorName": "Oracle Deutschland",
  "address": "Mainzer Landstrasse 1",
  "zip": "60329"
}

Example of Response Body

The following example shows the contents of the response body.

{
  "id": "payment-sepa-complete-1",
  "href": "http://host:port/brm/paymentMethods/v4/paymentMethod/payment-sepa-complete-1",
  "name": "Complete SEPA Payment",
  "account": [
    {
      "id": "payment_account_euro"
    }
  ],
  "isPreferred": false,
  "@type": "sepa",
  "@baseType": "PaymentMethodOracle",
  "BIC": "DEUTDEFF",
  "bankAccountNumber": "DE89370400440532013000",
  "city": "Frankfurt",
  "country": "DE",
  "mandateSignedDate": "2026-01-01T08:40:00.00Z",
  "mandateType": "Recurring",
  "creditorId": "DE98ZZZ09999999999",
  "creditorName": "Oracle Deutschland",
  "address": "Mainzer Landstrasse 1",
  "zip": "60329"
}
Back to Top