Initiate payout errors

Common errors and exceptions

Exceptions

Transfer Rejected

Message

Could not process transfer. Please try again in a bit.

Status code

400

JSON response

{
  "success": false,
  "message": "Could not process transfer. Please try again in a bit.",
  "payout": {
    "id": "18358c11-380d-48dc-a95b-b2a8e199e292",
    "customer_reference": "CUST_REF1",
    "currency": "EGP",
    "amount": 100.0,
    "payout_type": "WALLET",
    "receiver_identifier": "45367535689754",
    "receiver_name": "Jahn Due",
    "receiver_phone": "+201XXXXXXXXX",
    "receiver_bank_code": null,
    "description": "Test Payout",
    "status": "REJECTED"
  }
}

Invalid Receiver ID Exception

Description

Transfer Rejected due to Invalid receiver_identifier

Message

receiver_identifier should be a valid Egyptian mobile number or wallet number

Status code

400

JSON response

{
  "success": false,
  "message": "receiver_identifier should be a valid Egyptian mobile number or wallet number",
  "payout": {
      "id": "c2297fba-42fb-4b09-a4ae-ab772728821d",
      "customer_reference": "CUST_REF1",
      "currency": "EGP",
      "amount": 100.00,
      "payout_type": "WALLET",
      "receiver_identifier": "45367535689754",
      "receiver_name": "Jahn Due",
      "receiver_phone" : "+201XXXXXXXXX",
      "receiver_bank_code": null,
      "description": "Test Payout",
      "status": "REJECTED"
  }
}

Errors

Invalid signature

Empty signature header or invalid signature.

Message

Invalid signature.

Empty signature header or invalid signature.

Status code

403

JSON response

{
	"detail": "Invalid signature."
}

Missing bank code

Missing Bank Code with BANK_ACCOUNT payouts

Message

Bank code is required for bank account payouts.

Status code

400

JSON response

{
	"non_field_errors": ["Bank code is required for bank account payouts."]
}

Invalid bank code

Invalid Enum Bank Code

Message

Invalid Bank Code.

Status code

400

JSON response

{
	"bank_code": ["Invalid Bank code."]
}

Invalid currency

Invalid Currency choice

Message

USD is not a valid choice.

Status code

400

JSON response

{
  "currency": [
    "\"USD\" is not a valid choice."
  ]
}

Invalid payout type

Invalid Payout type choice

Message

INSTNAT_TRANSFER is not a valid choice.

Status code

400

Valid Types

Check Enum Payout Type

JSON response

{
  "payout_type": [
    "\"INSTNAT_TRANSFER\" is not a valid choice."
  ]
}

Invalid Receiver identifier

Message

This field should only contain digits.

Cause

the field receiver_identifier contains non numeric characters

Status code

400

JSON response

{
  "receiver_identifier": [
    "This field should only contain digits."
  ]
}

Duplicate customer reference

Another payout with the same customer reference

Message

Payout with this customer reference already exists.

Status code

400

JSON response

{
  "customer_reference": [
    "Payout with this customer reference already exists."
  ]
}

Invalid receiver phone

see Type receiver_phone

Message

Enter a valid phone number.

Status code

400

JSON response

{
  "receiver_phone": [
    "Enter a valid phone number."
  ]
}