POST
Create Payment Agreement

Authorizations

app-id
string
header
required

A unique identifier assigned to each application.

secret-key
string
header
required

A secure token associated with the app-id.

Body

application/json
client_transaction_id
string
required

Unique identifier for the transaction created by the merchant’s system.

Required string length: 1 - 90
Example:

"txn-12345"

limit_amount
number
required

Maximum payment amount allowed for each transaction under this agreement. If using a fixed agreement, this amount should match the intended charge.

Example:

500

description
string
required

Brief description of the payment agreement.

Required string length: 5 - 140
Example:

"Monthly utility payment"

payment_agreement_type
enum<string>
required

Type of the payment agreement.

Available options:
MORTGAGE,
UTILITY,
LOAN,
DEPENDANT_SUPPORT,
GAMBLING,
RETAIL,
SALARY,
PERSONAL,
GOVERNMENT,
PENSION,
TAX,
OTHER_SERVICE
Example:

"UTILITY"

agreement_details
object
required
payer_details
object
required

Payer details, with either bank_account_details or pay_id_details required.

payment_agreement_notification
object
required

Callback configuration for receiving payment agreement status updates.

external_id
string

Custom identifier provided by the merchant for tracking purposes.

Maximum string length: 255
Example:

"ext-123456"

Callbacks

POST
{$request.body#/payment_agreement_notification/endpoint_url}PaymentAgreementStatus

Body

application/json
id
integer

A unique identifier for the payment agreement, used for tracking and management.

Example:

12345

payment_agreement_id
string

The unique identifier for the payment agreement, providing a reference to the specific agreement being handled.

Example:

"agreement-12345"

client_transaction_id
string

A unique ID for the transaction as provided by the merchant, used to ensure transactions can be uniquely tracked.

Required string length: 1 - 90
Example:

"client-trans-001"

limit_amount
number

The maximum allowable amount for each payment under this agreement, helping to manage the scope of transactions.

Example:

5000

description
string

A description of the payment agreement, providing context and information for the payer and merchant.

Required string length: 5 - 140
Example:

"Monthly utility bill payment agreement."

external_id
string

A custom identifier assigned to the payment agreement, typically used for tracking and reference purposes.

Maximum string length: 255
Example:

"custom-agreement-id-7890"

status
enum<string>

The current status of the payment agreement. Possible values include:

  • created: Agreement has been created but not yet activated.
  • active: Agreement is currently active.
  • suspended: Agreement has been temporarily suspended.
  • cancelled: Agreement has been cancelled.
  • failed: Agreement creation or payment has failed.
Available options:
created,
active,
suspended,
cancelled,
failed
Example:

"active"

created_at
string<date-time>

The timestamp indicating when the payment agreement was created, in UTC.

Example:

"2024-01-01T00:00:00Z"

payment_agreement_type
enum<string>

The type of payment agreement, indicating the nature of the payments involved.

Available options:
MORTGAGE,
UTILITY,
LOAN,
DEPENDANT SUPPORT,
GAMBLING,
RETAIL,
SALARY,
PERSONAL,
GOVERNMENT,
PENSION,
TAX,
OTHER SERVICE
Example:

"UTILITY"

agreement_details
object
payer_details
object

Details about the payer, including either bank account information or PayID details.

payment_agreement_notification
object

Details for the merchant callback, including endpoint URL and authorization header for receiving status updates on the payment agreement.

Response

Callback received successfully.

Response

Payment agreement created successfully.

id
integer

A unique identifier for the payment agreement, used for tracking and management.

Example:

12345

payment_agreement_id
string

The unique identifier for the payment agreement, providing a reference to the specific agreement being handled.

Example:

"agreement-12345"

client_transaction_id
string

A unique ID for the transaction as provided by the merchant, used to ensure transactions can be uniquely tracked.

Required string length: 1 - 90
Example:

"client-trans-001"

limit_amount
number

The maximum allowable amount for each payment under this agreement, helping to manage the scope of transactions.

Example:

5000

description
string

A description of the payment agreement, providing context and information for the payer and merchant.

Required string length: 5 - 140
Example:

"Monthly utility bill payment agreement."

external_id
string

A custom identifier assigned to the payment agreement, typically used for tracking and reference purposes.

Maximum string length: 255
Example:

"custom-agreement-id-7890"

status
enum<string>

The current status of the payment agreement. Possible values include:

  • created: Agreement has been created but not yet activated.
  • active: Agreement is currently active.
  • suspended: Agreement has been temporarily suspended.
  • cancelled: Agreement has been cancelled.
  • failed: Agreement creation or payment has failed.
Available options:
created,
active,
suspended,
cancelled,
failed
Example:

"active"

created_at
string<date-time>

The timestamp indicating when the payment agreement was created, in UTC.

Example:

"2024-01-01T00:00:00Z"

payment_agreement_type
enum<string>

The type of payment agreement, indicating the nature of the payments involved.

Available options:
MORTGAGE,
UTILITY,
LOAN,
DEPENDANT SUPPORT,
GAMBLING,
RETAIL,
SALARY,
PERSONAL,
GOVERNMENT,
PENSION,
TAX,
OTHER SERVICE
Example:

"UTILITY"

agreement_details
object
payer_details
object

Details about the payer, including either bank account information or PayID details.

payment_agreement_notification
object

Details for the merchant callback, including endpoint URL and authorization header for receiving status updates on the payment agreement.