Create Mandates Request #
This endpoint provides the following functionalities:
- Subscriptions payment via online banking (bank account and credit card).
- Subscriptions payment via Visa/Mastercard (credit card, debit card, foreign card).
Request Body Parameter | Type | Validation | Description | Example |
---|---|---|---|---|
customer_name | string | maxLength: 50 | Name of customer | Tan Boon Hua |
string($email) | maxLength: 50 | Email of customer | user@example.com | |
merchant_reference_number | string | maxLength: 40 | You may input any reference number here | |
id_type | integer | Enum: [ 1, 2, 3, 4, 5 ] | ID type of customer | 1 – New IC Number, 2 – Old IC Number, 3 – Passport Number, 4 – Business Registration, 5 – Others |
id_number | string | maxLength: 18 | ID number of customer | 900525086780 |
fpx_mode | string | Enum: [ 01, 02 ] | Whether or not the FPX user uses a retail or corporate bank account for FPX payment | 01 – retail, 02 – corporate |
fpx_buyer_bank_id | string | maxLength: 10 | Bank code of FPX buyer | TEST0021 Refer to list of FPX buyer bank code |
effective_date required | string($yyyyMMdd) | For example, 20/05/2023 means collect payment on every 20th of month. | 20/05/2023 | |
expiry_date | string($yyyyMMdd) | You may leave it blank if you do not have a date (i.e. if you choose 30/12/2023, the last collection will fall on 20/12/2023) | ||
max_amount | integer | minimum: 100 Cannot be lower than 100 (RM1.00) | This refers to the maximum amount of charge to be deducted (e.g. monthly/daily/ weekly). Values should be in cents. Example if MYR 10.00 should be inputed as 1000. Maximum of MYR 30,000.00 for FPX, and MYR 1,000,000.00 for FPX Corporate | 1000 |
initial_amount | integer | minimum: 100 Cannot be lower than 100 (RM1.00) | This refers to upfront charge during authorization of mandate by customers. Only applicable when debit_type = “AD” (using cards). Specify initial charge of mandate, to be charged on authorization of mandate, outside of the specified collection schedule. Example, if create a mandate where auto is set to “false“ initial_amount is set to “1000″ max_amount is set to “20000“, merchant will charge immediately 1000 upfront, and every month will charge 20000. In other words, can for one-time-charges, upfront fees, etc. | 1000 |
frequency required | string | Enum: [ DL, WK, MT, QR, YR ] | Frequency of deduction/charge. | DL – daily, WK – weekly, MT – monthly, QR – quarterly, YR – yearly |
frequency_interval required | integer | minimum: 1 | Frequency of deduction/charge interval. ‘frequency_interval‘ = “3“, and ‘frequency‘ = “MT“, means every 3 months Example, if merchant wants to deduct twice a month to input ‘frequency_interval‘ = “2“, and ‘frequency‘ = “WK“. Note: If our frequency_interval does meet requirement, can create schedule on merchant end. | 1 |
max_frequency required | integer | minimum: 1 maximum: 999 | Max number of charges within a collection cycle | 1 |
purpose required | string | maxLength: 200 | Free-text field for any additional information regarding the purpose of payment. | Monthly subscription |
debit_type | string | Enum: [ DD, AD ] | Omit parameter if allow customer to choose debit type. Specify debit type to determine debit type for customer | DD – direct debit (using bank account), AD – auto debit (using card) |
return_url | string | maxLength: 150 | Upon payment, customers can click on a button e.g. return to merchant site. Return_url is the link where you want the customer to go back to after clicking the button. | <any valid domain> |
callback_url | string | maxLength: 150 | URL to your server for Payex to update on mandate response | <any valid domain> |
accept_url | string | maxLength: 150 | Redirect URL upon accepted payment. If not provided, return_url will be used by default. Note: This is for merchants who manually create payment link directly from Payex portal i.e. after payment is successful → where they want customers to be redirected to. | <any valid domain> |
reject_url | string | maxLength: 150 | Redirect URL upon rejected payment. If not provided, return_url will be used by default. Note: This is for merchants who manually create payment link directly from Payex portal i.e. after payment is rejected → where they want customers to be redirected to. | <any valid domain> |
address | string | maxLength: 200 | Address of customer | 48 Jalan Gembira, Taman Desa |
postcode | string | maxLength: 10 | Postcode of customer | 57100 |
city | string | maxLength: 150 | City of customer | Petaling Jaya |
state | string | maxLength: 50 | State of customer | Selangor |
country | string | maxLength: 2 | Country of customer | Malaysia |
metadata | Any data as long as in the form of dictionary. | |||
status | string | Enum: [ Pending, Draft ] | Pending | |
auto | boolean | Enable this to auto collect every month | true | |
retry | boolean | Enable this to let system auto retry if previous collection has failed | true | |
retry_count | integer | maximum: 4 | 4 (the maximum retry count for system is 4) (i.e. payment failed to collect on 20th, system will retry on 21st, 22nd, 23rd & 24th) | 4 |
Create Mandates Response #
A successful Mandate Request creation returns a HTTP 200
status code with the following response parameters.
Body Parameter | Type | Validation | Description | Example |
---|---|---|---|---|
status | string | Enum: [ 00, 99 ] | Status Codes: – For mandate authorization, refer to Response Codes with Type = ‘FPX’ for Direct Debit and Response Codes with Type = ‘Card’ for Auto Debit – For auto debit collection, refer to Response Codes with Type = ‘Card’ – For direct debit collection, refer to Response Codes with Type = ‘BILLING’ | |
result |
| maxLength: 50 | ||
status | string | Enum: [ 00, 99 ] | Status: 00 if create successfully Status: 99 if error occurred | |
reference_number | string | <System generated> | ||
key | string | <System generated> | ||
url | string | <System generated> | ||
error | string | <Error Description> | Invalid Data Format | |
message | string | Success |
Create Mandate Response Codes #
- For mandate authorization, refer to Response Codes with Type = ‘FPX’ for Direct Debit and Response Codes with Type = ‘Card’ for Auto Debit
- For auto debit collection, refer to Response Codes with Type = ‘Card’
- For direct debit collection, refer to Response Codes with Type = ‘BILLING’
Authorization Callback Response (Mandate Authorization Completion) #
This refers to callback response upon mandate authorization completion (for both Direct Debit and Auto Debit) which will be sent via webhook to the specified callback_url. We will be using the charged by cards (Auto Debit) example below:
Body Parameter | Type | Validation | Description | Example |
---|---|---|---|---|
amount | string | For authorization purpose and non-refundable | 1.00 | |
currency | string | Currency | MYR | |
customer_name | string | Name of Customer | Test Customer | |
description | string | Free-text field for any additional information regarding the mandate authorization payment method. | Monthly Subscription Plan | |
reference_number | string | Refers to mandate’s ‘merchant_reference_number’ passed by merchant as optional parameter. | <any string> | |
mandate_reference_number | string | Refers to reference number for mandate generated by Payex | MN10000011621583965 | |
payment_intent | string | This refers to Payment Intent endpoint for creating payment forms. | b96165b897c746c0a2a42032e8bfafea | |
collection_id | string | Collection ID | owbnr7xq | |
invoice_id | string | Invoice ID | ||
txn_id | string | Transaction ID | PX10000011627008035 | |
txn_date | string ($yyyyMMddHHmmss) | Transaction Date | 20210723104035 | |
external_txn_id | string | External Transaction ID | 2009151119230241 | |
response | string | Description of auth_code | Approved | |
auth_code | string | – For mandate authorization, refer to Response Codes with Type = ‘FPX’ for Direct Debit and Response Codes with Type = ‘Card’ for Auto Debit – For auto debit collection, refer to Response Codes with Type = ‘Card’ – For direct debit collection, refer to Response Codes with Type = ‘BILLING’ | 00 | |
auth_number | string | Authorization Number | 15733223 | |
fpx_mode | string | null | ||
fpx_buyer_name | string | null | ||
fpx_buyer_bank_id | string | null | ||
fpx_buyer_bank_name | string | null | ||
card_holder_name | string | N@me()/ .-_,&Buyer’`~*;: | ||
card_number | string | 411111******1111 | ||
card_expiry | string | 03/27 | ||
card_brand | string | Can be any of “VISA”, “MASTERCARD”, “UNIONPAY” | VISA | |
card_on_file | string | 64 alphanumeric key length | Type of “credential-on-file” / “card-on-file” payment for subsequent usage. Indicates future card-on-file usage where customer can save the card for future checkout. | 761d35566422d504c96a0f28f3637eeea0d9808a73897f533b53dd9850e4dfbb |
signature | string | SHA512(secret + | + txn_id) | 3b0806197e8b948a81b2faff2839b3194b9f52707a336e5039a52204a2591abfbd5d4e5aceec4381b15cf0431e02aa6e2c9d17c255e6e7083e47ccfe c182cbaa | |
txn_type | string | Enum: [ Mandate – Authorization, Auto Debit – Authorization, Malaysia Debit Card, Malaysia Credit Card, Foreign Card ] | Used to differentiate between different callback responses (refer to the list below) List of available ‘txn_type’ for callback 1. Mandate – Authorization 2. Auto Debit – Authorization 3. Mandate – Approval 4. Malaysian Debit Card 5. Malaysian Credit Card 6. Foreign Card When ‘txn_type’ is either of ‘Mandate – Authorization’ will incur a non-refundable amount of MYR 1.00 to your customer | Auto Debit – Authorization |
nonce | string | lenKjMY3VInjYHmtSX398aT2socMZGCOkLIQ8OPPeIaerXSVRW0Arzd33dLnd5M8 |
Approval Callback (Mandate Approval for Direct Debit only) #
This refers to response upon mandate approval completion which will be sent via webhook to the specified callback_url. There’s two callback for Direct Debit, as first callback is for customer authorization while second callback is for bank approval.
Body Parameter | Type | Validation | Description | Example |
---|---|---|---|---|
application_type | string | Refer to mandate authorization, maintenance or rejection. | 01 | |
approval_status | string | Mandate approval status | 00 | |
approval_date | string | Mandate approval date | 20210721 | |
txn_id | string | Transaction ID of Payex | PX10000171626952548 | |
reference_number | string | Refers to mandate’s ‘merchant_reference_number’ passed by merchant as optional parameter. | <any string> | |
mandate_reference_number | string | Refers to reference number for mandate generated by Payex | MN10000171626860885 | |
record_number | string | Refers to bank reference number | E-20210721Q964879 | |
fpx_mode | string | Enum: [ 01, 02 ] | Whether or not the customer uses a retail or corporate bank account for FPX payment | 01 – Retail, 02 – Corporate |
fpx_buyer_name | string | Name of FPX buyer | N@me()/ .-_,&Buyer’`~*;: | |
fpx_buyer_bank_name | string | Bank name of FPX buyer | CIMB Bank | |
fpx_buyer_bank_account | string | Bank account of FPX buyer | ********1234 | |
signature | string | 68f21dfb966f264dbd996ad809828b8e763bc5798fbefb5ada434af3 c6a87873d525f7066c5b9e9963ef676f2e672d2835779bc59b09522 3a43058dc935b04f3 | ||
txn_type | string | Enum: [ Mandate – Approval ] | This is applicable to Direct Debit only. | Mandate – Approval |
Get Mandate Response #
This endpoint allows you to retrieve the details of mandate payment by the following parameters (optional fields):
Note: Limit is how many rows to get, for example, 10 limit means will return up to 10 rows, and 10 limit and page 2, means rows 11 to 20 of the results
If successful, this endpoint returns HTTP 200
status code with the following response parameters.
Body Parameter | Type | Validation | Description | Example |
---|---|---|---|---|
status | string | Enum: [ 00, 99 ] | Status Codes: – For mandate authorization, refer to Response Codes with Type = ‘FPX’ for Direct Debit and Response Codes with Type = ‘Card’ for Auto Debit | |
result id | integer | |||
date | string($yyyyMMddHHmmss) | Date when mandate is created | ||
mid | string | Merchant ID | ||
name | string | Name of merchant | ||
title | string | |||
collection_id | string | Collection ID | owbnr7xq | |
customer_name | string | Name of Customer | Test Customer | |
contact_number | string | Contact number of Customer | 0123456789 | |
string | Email of Customer | test@payex.io | ||
txn_id | string | Transaction ID of Payex | PX10000171626952548 | |
reference_number | string | Refers to reference number for mandate generated by Payex | MN10000171626860885 | |
merchant_reference_number | string | Refers to mandate’s ‘merchant_reference_number’ passed by merchant as optional parameter. | <any string> | |
record_number | string | Refers to bank reference number | E-20210721Q964879 | |
status_code | string | Enum: [ 01, 02, 03, 04, 05, 06, 07 ] | Status code of mandate authorisation | 02 |
status | string | Enum: [ Draft, Pending Authorization, Pending Approval, Approved, Rejected, Terminated, Expiry ] | Status of mandate authorisation by customer | Pending Authorization |
approval_status_code | string | Status code of approval | 00 | |
approval_status | string | Status of approval | Approved | |
currency | string | Currency | MYR | |
max_amount | number($double) | minimum: 100 | This refers to the maximum amount of charge to be deducted. | RM500 |
amount | number($double) | For authorization purpose and non-refundable | RM1.00 | |
fpx_mode | string | Enum: [ 01, 02 ] | Whether or not the customer uses a retail or corporate bank account for FPX payment | 01 – retail, 02 – corporate |
fpx_buyer_bank_id | string | maxLength: 10 | Bank code of FPX buyer | TEST0021 Refer to list of FPX buyer bank code |
fpx_buyer_bank_name | string | Bank name of FPX buyer | CIMB Bank | |
fpx_buyer_name | string | Name of FPX buyer | N@me()/ .-_,&Buyer’`~*;: | |
fpx_buyer_bank_account | string | Bank account of FPX buyer | ********1234 | |
card_holder_name | string | Cardholder name | N@me()/ .-_,&Buyer’`~*;: | |
card_number | string | Card number | 411111******1111 | |
card_expiry | string | Card expiration date | 03/27 | |
card_brand | string | Can be any of “VISA”, “MASTERCARD”, “UNIONPAY” | VISA | |
card_type | string | Type of card used for auto debit | Debit or Credit | |
card_id | string | 64 characters unique identifier | ID of the store card on file, similar to card_on_file Type of “credential-on-file” / “card-on-file” payment for subsequent usage. Indicates future card-on-file usage where customer can save the card for future checkout. | 761d35566422d504c96a0f28f3637eeea0d9808a73897f533b53dd9850e4dfbb |
id_type | string | Enum: [ 1, 2, 3, 4, 5 ] | ID type of customer | 1 – New IC Number, 2 – Old IC Number, 3 – Passport Number, 4 – Business Registration, 5 – Others |
id_number | string | ID number of customer | 900525086780 | |
address | string | Address of customer | 48 Jalan Gembira Taman Mega | |
postcode | string | Postcode of customer | 57100 | |
city | string | City of customer | Petaling Jaya | |
state | string | State of customer | Selangor | |
country | string | Country of customer | Malaysia | |
effective_date | string($yyyyMMdd) | For example, 20/05/2023 means collect payment on every 20th of month. | 20/05/2023 | |
expiry_date | string($yyyyMMdd) | You may leave it blank if you do not have a date (i.e. if you choose 30/12/2023, the last collection will fall on 20/12/2023) | 30/12/2023 | |
frequency | string | Enum: [ DL, WK, MT, QR, YR ] | Frequency of deduction/charge | DL – daily, WK – weekly, MT – monthly, QR – quarterly, YR – yearly |
frequency_interval | integer | ‘frequency_interval’ = 3, and ‘frequency’ = “MT”, means every 3 months | 1 | |
max_frequency | integer | Max number of charges within a collection cycle | 1 | |
day | integer | minimum: 0 maximum: 31 | Day of mandate creation | |
month | integer | minimum: 1 maximum: 12 | Month of mandate creation | |
purpose | string | maxLength: 200 | Purpose of payment | Monthly Subscription |
debit_type | string | Enum: [ DD, AD ] | Type of mandate | DD – direct debit, AD – auto debit |
active | boolean | Enable this to make active or active the mandate | true | |
auto | boolean | Enable this to auto collect every month | true | |
retry | boolean | Enable this to let system auto retry if previous collection has failed | true | |
retry_count | integer | 4 | 4 (the maximum retry count for system is 4) (i.e. payment failed to collect on 20th, system will retry on 21st, 22nd, 23rd & 24th) | 4 |
metadata | { } | Any data as long as in the form of dictionary | ||
key | string | <System generated> | ||
message | string | Success | ||
total_pages | integer |
Update Mandates Request #
This endpoint allows you to update mandates (only in Draft status) that have been created using ‘reference_number’ as the request parameter below (required field):
‘reference_number’ refers to reference number for mandate generated by Payex (e.g. MN10000171626860885)
Request Body Parameter | Type | Validation | Description | Example |
---|---|---|---|---|
customer_name required | string | maxLength: 50 | Name of Customer | Test Customer |
email required | string($email) | maxLength: 50 | Email of Customer | test@payex.io |
contact_number | string | maxLength: 20 | Contact Number of Customer | 0123456789 |
id_type | integer | Enum: [ 1, 2, 3, 4, 5 ] | ID Type of Customer | 1 – New IC Number, 2 – Old IC Number, 3 – Passport Number, 4 – Business Registration, 5 – Others |
id_number | string | maxLength: 18 | ID Number of Customer | 900525086780 |
fpx_mode | string | Enum: [ 01, 02 ] | Whether or not the customer uses a retail or corporate bank account for FPX payment | 01 – retail, 02 – corporate |
fpx_buyer_bank_id | string | maxLength: 10 | Bank code of FPX buyer | Refer to list of FPX buyer bank code |
effective_date required | string($yyyyMMdd) | yyyyMMdd | For example, 20/05/2023 means collect payment on every 20th of month. | 20/05/2023 |
expiry_date | string($yyyyMMdd) | yyyyMMdd | You may leave it blank if you do not have a date (i.e. if you choose 30/12/2023, the last collection will fall on 20/12/2023) | 30/12/2023 |
max_amount | integer | minimum: 100 | Values should be in cents. Example if MYR 10.00 should be inputed as 1000. Maximum of MYR 30,000.00 for FPX, and MYR 1,000,000.00 for FPX Corporate | 1000 |
initial_amount | integer | minimum: 100 | Only applicable when debit_type = “AD” | |
frequency required | string | Enum: [ DL, WK, MT, QR, YR ] | Frequency of deduction/charge | DL – daily, WK – weekly, MT – monthly, QR – quarterly, YR – yearly |
frequency_interval required | integer | minimum: 1 | ‘frequency_interval’ = 3, and ‘frequency’ = “MT”, means every 3 months | 1 |
max_frequency required | integer | minimum: 1 maximum: 999 | Max number of charges within a collection cycle | 1 |
purpose required | string | maxLength: 200 | Purpose of payment | Monthly Subscription |
debit_type | string | Enum: [ DD, AD ] | Only applicable when debit_type = “AD”. Specify initial charge of mandate, to be charged on authorization of mandate, outside of the specified collection schedule. Can use used for one-time-charges, upfront fees, etc. | DD – direct debit, AD – auto debit |
status | string | Enum: [ Draft ] | Only “Draft” status of mandate can be updated. | Draft |
auto | boolean | Enable this to auto collect every month. If auto is set to false, | true | |
retry | boolean | Enable this to let system auto retry if previous collection has failed | true | |
retry_count | integer | maximum: 4 | 4 (the maximum retry count for system is 4) (i.e. payment failed to collect on 20th, system will retry on 21st, 22nd, 23rd & 24th) | 4 |
metadata | Any data as long as in the form of dictionary |
A successful Update Mandate Request will return a HTTP 200
status code with the following response parameters.
Body Parameter | Type | Validation | Description | Example |
---|---|---|---|---|
status | string | Enum: [ 00, 99 ] | Status Codes: – For mandate authorization, refer to Response Codes with Type = ‘FPX’ for Direct Debit and Response Codes with Type = ‘Card’ for Auto Debit | |
result status | string | Enum: [ 00, 99 ] | Status: 00 if create successfully Status: 99 if error occurred | 00 |
reference_number | string | Refers to reference number for mandate generated by Payex | MN10000171626860885 | |
key | string | <System generated> | ||
url | string | <System generated> When update requires customers’ authorization. | ||
error | string | <Error Description> | Invalid Data Format | |
message | string | Success |
Delete Mandates Request #
This endpoint allows you to delete mandates using reference_number as the request parameter below (required field):
‘reference_number’ refers to reference number for mandate generated by Payex (e.g. MN10000171626860885)
Note: reference_number is the required parameter for this endpoint and it refers to a list/array of reference numbers for mandate generated by Payex. You may choose to delete multiple mandates at a time and the parameter format will be [“MNxxxx”,”MNxxxx”].
A successful Delete Mandates will return a HTTP 200
status code with the following response parameters.
Body Parameter | Type | Validation | Description | Example |
---|---|---|---|---|
status | string | Enum: [ 00, 99 ] | Status Codes: – For mandate authorization, refer to Response Codes with Type = ‘FPX’ for Direct Debit and Response Codes with Type = ‘Card’ for Auto Debit | |
result status | string | Enum: [ 00, 99 ] | Status: 00 if create successfully Status: 99 if error occurred | 00 |
reference_number | string | Refers to reference number for mandate generated by Payex | MN10000171626860885 | |
key | string | <System generated> | ||
url | string | <System generated> When termination requires customers’ authorization. | ||
error | string | <Error Description> | Invalid Data Format | |
message | string | Success |
Update Mandate Collection Settings Request #
This endpoint allows you to update mandate collection settings with ‘reference_number’ as required parameter:
‘reference_number’ refers to reference number for mandate generated by Payex (e.g. MN10000171626860885)
Body Parameter | Type | Validation | Description | Example |
---|---|---|---|---|
amount | integer | minimum: 100 | For example, if max amount was set as rm100, then here can set to any amount less or equal to max amount for the auto collection. | 100 |
day | integer | minimum: 0 maximum: 31 | Day of mandate | |
month | integer | minimum: 1 maximum: 12 | Month of mandate | |
active | boolean | Enable this to make active or inactive the mandate | true | |
auto | boolean | Enable this to auto collect every month. If auto is set to false, Payex will wait for merchant’s instructions before next deduction. | true | |
retry | boolean | Enable this to let system auto retry if previous collection has failed | true | |
retry_count | integer | maximum: 4 | 4 (the maximum retry count for system is 4) (i.e. payment failed to collect on 20th, system will retry on 21st, 22nd, 23rd & 24th) | 4 |
A successful Update Mandate Collection Settings Request will return a HTTP 200
status code with the following response parameters.
Body Parameter | Type | Validation | Description | Example |
---|---|---|---|---|
status | string | Enum: [ 00, 99 ] | ||
result | string | List [] | ||
message | string |
Create Collections Request #
This endpoint allows you to create collection request upon authorisation of mandate by your customers.
Body Parameter | Type | Validation | Description | Example |
---|---|---|---|---|
reference_number required | string | Refers to reference number for mandate generated by Payex | MN10000011621583965 | |
collection_reference_number | string | Passed by merchant as optional parameter | <any string> | |
collection_date required | string($yyyyMMdd) | Date of collection | ||
amount | integer | Values should be in cents. For example, MYR 10.00 should be inputed as 1000. Value must be less than or equal to “max_amount” of mandate. Maximum of MYR 30,000.00 for FPX, and MYR 1,000,000.00 for FPX Corporate. | ||
retry | boolean | Enable this to let system auto retry if previous collection has failed | true | |
retry_count | integer | max: 4 | 4 (the maximum retry count for system is 4) (i.e. payment failed to collect on 20th, system will retry on 21st, 22nd, 23rd & 24th) | |
metadata | Any data as long as in the form of dictionary |
A successful Create Collection Request will return a HTTP 200
status code with the following response parameters.
Body Parameter | Type | Validation | Description | Example |
---|---|---|---|---|
status | string | Enum: [ 00, 99 ] | – For auto debit collection, refer to Response Codes with Type = ‘Card’ – For direct debit collection, refer to Response Codes with Type = ‘BILLING’ | |
result status | string | Enum: [ 00, 99 ] | Status: 00 if create successfully Status: 99 if error occurred | |
reference_number | string | Refers to reference number for mandate generated by Payex | MN10000011621583965 | |
collection_number | string | Refers to collection number generated by Payex | CL10000023077b6050c4 | |
error | string | <Error Description> | Invalid Data Format | |
message | string |
Collection Callback #
Response upon mandate collection completion which will be sent via webhook to the specified callback_url.
Body Parameter | Type | Validation | Description | Example |
---|---|---|---|---|
collection_status | string | Direct Debit (Refer to BILLING response codes) and Auto Debit (Refer to Card response codes) | Approved | |
collection_date | string | Date of Collection | 15/01/2023 | |
txn_id | string | Transaction ID of Payex | PX10000171626952548 | |
reference_number | string | Refers to reference number for mandate generated by Payex | MN10000171626860885 | |
mandate_reference_number | string | Refers to mandate’s ‘merchant_reference_number’ passed by merchant as optional parameter. | <any string> | |
batch_number | string | Batch number is unique number for the batch of collections submitted to bank | ||
collection_number | string | Refers to collection number generated by Payex | CL10000023077b6050c4 | |
collection_reference_number | string | Passed by merchant as optional parameter | <any string> | |
amount | string | Values should be in cents. For example, MYR 10.00 should be inputed as 1000. Value must be less than or equal to “max_amount” of mandate. Maximum of MYR 30,000.00 for FPX, and MYR 1,000,000.00 for FPX Corporate. | ||
signature | string | SHA512(secret + | + txn_id) | 3b0806197e8b948a81b2faff2839b3194b9f52707a336e5039a52204a2591abfbd5d4e5aceec4381b15cf0431e02aa6e2c9d17c255e6e7083e47ccfe c182cbaa | |
txn_type | string | Enum: [ Direct Debit, Malaysia Debit Card, Malaysia Credit Card, Foreign Card ] | Transaction Type |
Read Collections Response #
This endpoint allows you to read collections by the following parameters (optional fields):
Body Parameter | Type | Validation | Description | Example |
---|---|---|---|---|
status | string | Enum: [ 00, 99 ] | ||
result id | integer | |||
date | string($yyyyMMddHHmmss) | |||
collection_date | string($yyyyMMdd) | Date of Collection | 15/01/2023 | |
reference_number |
| Refers to reference number for mandate generated by Payex | MN10000171626860885 | |
merchant_reference_number | integer | Refers to mandate’s ‘merchant_reference_number’ passed by merchant as optional parameter. | <any string> | |
batch_number | integer | Batch number is unique number for the batch of collections submitted to bank | ||
collection_number |
| Refers to collection number generated by Payex | CL10000023077b6050c4 | |
collection_reference_number |
| Passed by merchant as optional parameter | <any string> | |
amount |
| For example, if max amount was set as rm100, then here will be any amount less or equal to max amount for the auto collection. | ||
batch_status_code |
| Refers to batch status code under Batch response codes | 01 | |
batch_status |
| Refers to batch status under Batch response codes | Pending | |
collection_status_code |
| Status code of collection | 00 | |
collection_status |
| Direct Debit (Refer to BILLING response codes) and Auto Debit (Refer to Card response codes) | Approved | |
auto |
| Enable this to auto collect every month. If auto is set to false, Payex will wait for merchant’s instructions before next deduction. | true | |
retry |
| Enable this to let system auto retry if previous collection has failed | true | |
retry_count |
| maximum: 4 | 4 (the maximum retry count for system is 4) (i.e. payment failed to collect on 20th, system will retry on 21st, 22nd, 23rd & 24th) | 4 |
retry_left |
| Number of retry remaining | 3 | |
retry_date |
| Date of retry | ||
metadata | Any data as long as in the form of dictionary | |||
message |
| Success | ||
total_pages |
|
Delete Collections Response #
This endpoint allows you to delete collections with ‘collection_number’ as the required parameter below:
A successful Delete Collection will return a HTTP 200
status code with the following response parameters.
Body Parameter | Type | Validation | Description | Example |
---|---|---|---|---|
status |
| Enum: [ 00, 99 ] | ||
result status |
| Enum: [ 00, 99 ] | ||
reference_number |
| Refers to reference number for mandate generated by Payex | MN10000171626860885 | |
collection_number |
| Refers to collection number generated by Payex | CL10000023077b6050c4 | |
error |
| <Error Description> | Invalid Data Format | |
message |
| Success |