Payment History API
v4.2.2
/PaymentHistory
POST
https://subdomain.transfermateeducation.com/PaymentHistory
Returns a list of all transactions.
Querying the PaymentHistory endpoint without providing filters will return all payments submitted from your account.
Query Params
| Parameter ID | Example Value | Data Type | Max Char. Length Range | Required | Description |
|---|---|---|---|---|---|
| username_loginto | [username] | string | 255 | Yes | API Username |
| password_loginto | [password] | string | 255 | Yes | API Password |
| Student Related Parameters | |||||
| filter_payment_id | - | integer | - | No | Filter by Payment ID This ID is generated by the Transfermate system when you call the MakeAPayment request. |
| filter_unique_student_id | - | string | 255 | No | Filter by Unique Student ID |
| filter_unique_payer_id | - | string | 255 | No | Filter by Unique Payer ID |
| filter_request_id | - | string | 255 | No | Filter by Request ID |
| filter_order_id | - | string | 128 | No | Filter by Order ID |
| filter_payment_method_id | - | string | 0 - 100 | No | Filter by Payment Method ID |
| filter_adi_id | - | string | 255 | No | Filter by ADI ID |
| filter_org_id | - | string | 255 | No | Filter by ORG ID |
| filter_student_number | - | string | 255 | No | Filter by Student Number |
| filter_payment_status | 0,1,2,3 | string | 255 | No | Filter by Payment / Transaction Status. Separate values using comma to combine multiple statuses. Transfermate Payment Statuses IDs:
0 - Registered
1 - Pending 2 - Paid 3 - Inactive |
| filter_registered_date_from | [date] | string | 30 | No | Filter by Registration Date (From) |
| filter_registered_date_to | [date] | string | 30 | No | Filter by Registration Date (To) |
| filter_paid_date_from | [date] | string | 30 | No | Filter by Paid Date (From) |
| filter_paid_date_to | [date] | string | 30 | No | Filter by Paid Date (To) |
| filter_status_updated_from | [date] | string | 30 | No | Filter by Status Updated Date (From) |
| filter_status_updated_to | [date] | string | 30 | No | Filter by Status Updated Date (To) |
| filter_escrow | 1 or 0 | integer | 1 or 0 | No | When client wants to filter transactions based on their escrow status. filter_escrow = 1 means transaction has an escrow status. filter_escrow = 0 means transaction has not an escrow status. |
| All date/time parameters accepts the folowing date/time formats | |
|---|---|
| Format | Example |
| YYYY-MM-DD | 2025-10-25 |
| DD-MM-YYYY | 25-10-2025 |
| YYYY-MM-DD hh:mm:ss | 2025-10-25 04:30:59 |
| YYYY-MM-DDThh:mm:ss | 2025-10-25T04:30:59 |
| DD-MM-YYYY hh:mm:ss | 25-10-2025 04:30:59 |
| DD-MM-YYYYThh:mm:ss | 25-10-2025T04:30:59 |
| YYYY-MM-DD hh:mm:ssTZAbbr | 2025-10-25 04:30:59PST |
| YYYY-MM-DDThh:mm:ssTZAbbr | 2025-10-25T04:30:59PST |
| YYYY-MM-DD hh:mm:ssTZ | 2025-10-25 04:30:59-0800 |
| YYYY-MM-DDThh:mm:ssTZ | 2025-10-25T04:30:59-0800 |
| YYYY-MM-DD hh:mm:ssTZ(:) | 2025-10-25 04:30:59-08:00 |
| YYYY-MM-DDThh:mm:ssTZ(:) | 2025-10-25T04:30:59-08:00 |
Response Examples
XML Response Breakdown
| Field Name | Field Type | Parent Element | Return Value | Data Type | Max Length / Range | Description |
|---|---|---|---|---|---|---|
| root | Element | - | - | - | - | The root/parent element. |
| operation | Element | root | - | - | - | Contains the operation related information. |
| type | Element | operation | Payment History | string | 15 | The Request Type. |
| result | Element | operation | ok, failure | string | 7 | The Request Status result.
ok - The request was successful and you can continue paring the XML response. Please note that, error_code, error_message and field_id elements are not returned if the result is "ok". failure - There was an error and you should not parse the XML response any further. The error_code, error_message and field_id elements will be returned in the operation element, which can be used to determine what caused the error. |
| error_code | Element | operation | Integer Number | integer | 0 - 10000 | The error code. |
| error_message | Element | operation | String - Error Message | string | 255 | The error message. |
| field_id | Element | operation | String - Field Name | string | 50 | The field_id contains the parameter name which is causing the error. |
| datetime | Element | operation | YYYY-MM-DDThh:mm:ss+TZ | string | 30 | The date & time of the response in ISO 8601 format. Example: 2025-10-25T04:30:59+00:00 |
| payments | Element | root | - | - | - | Payments wrapper element |
| total | Attribute | payments | Integer Number | integer | - | The total number of payments matching the filters criteria. |
| payment | Element | payments | - | - | - | Payment wrapper element |
| id | Attribute | payment | Integer Number | integer | - | The Payment / Transaction ID appointed by Transfermate for this payment. |
| id | Element | payment | Integer Number | integer | - | The Payment / Transaction ID appointed by Transfermate for this payment. |
| order_id | Element | payment | As provided in the MakeAPayment request | string | 128 | The Order ID that was provided in the MakeAPayment request. |
| status | Element | payment | Registered Pending Paid Inactive |
string | 20 | The current Payment Status. Registered - The payment was registered in the TM system. Pending - Pending funds to be received into TM bank account. Paid - TM received the funds and the amount was settled into the client's bank account. Inactive - The transaction was cancelled/declined. |
| status_id | Element | payment | 0 1 2 3 |
integer | 0 - 3 | The current Payment Status ID. 0 - Registered 1 - Pending 2 - Paid 3 - Inactive |
| third_party_status | Element | payment |
Waiting Refused Successful Cancelled Pending |
string | 10 |
The value is set If the payment was processed via third party payment processor.
Empty value - The payment wasn't processed via third party or the payer wasn't redirected to the redirect_url yet. Waiting - Waiting for the payer to complete the payment in the third party platform, e.g. China Union Pay, Alipay, WeChat, etc. Refused - The payment was refused by the PSP or card acquirer. Successful - The payment was successful. Cancelled - The Payer cancelled the payment. Pending - This status is set when the result of an APM transaction isn't immediately known. Usually resolves to either Successful or Cancelled status in few hours. |
| third_party_status_id | Element | payment |
0 1 2 3 4 |
integer | 0 - 4 |
0 - Waiting 1 - Refused 2 - Successful 3 - Cancelled 4 - Pending |
| method | Element | payment | As provided in the MakeAPayment request | string | 50 | The Payment Method which was used to process the payment. Derived from the Payment Method ID provided in the MakeAPayment request. |
| method_id | Element | payment | As provided in the MakeAPayment request | integer | 0 - 1000 | The Payment Method ID. |
| student_name | Element | payment | As provided in the MakeAPayment request | string | 255 | The Student Name |
| student_number | Element | payment | As provided in the MakeAPayment request | string | 50 | The Student Number |
| foreign_amount | Element | payment | Currency Code + Payer's amount | string | 4 - 20 | The Payer local currency and payment amount. |
| payable_amount | Element | payment | Currency Code + Base amount | string | 7 - 20 | The expected settlement amount. |
| paid_amount | Element | payment | Currency Code + Paid amount | string | 7 - 20 | The actual settled amount into the client's bank account. This value is set when the status element is "Paid", otherwise it is set to "{Base Currency} 0.00" |
| purpose | Element | payment | As provided in the MakeAPayment request | string | 255 | The payment purpose, provided in the MakeAPayment request. |
| reference_number | Element | payment | PREFIX + Student Number | string | 1 - 100 | The reference number appointed by Transfermate for this payment. It is usually a combination of the subdomain + Student Number. Example: TEST-XML-SERVICE12345678 |
| escrow | Element | payment | 1,0 | integer | 1 or 0 | The current escrow status. 1 - Means the transaction is flagged as an escrow one and funds are hold in TM Escrow Bank Account. 0 - Means the transaction is not flagged as an escrow |
| unique_payer_id | Element | payment | As provided in the MakeAPayment request | string | 255 | The Payer ID, provided in the MakeAPayment request. |
| request_id | Element | payment | As provided in the MakeAPayment request | string | 255 | The Request ID, provided in the MakeAPayment request. |
| payer | Element | payment | As provided in the MakeAPayment request | string | 255 | Who made the payment. |
| payer_name | Element | payment | As provided in the MakeAPayment request | string | 255 | The Payer Name, provided in the MakeAPayment request. |
| adi_id | Element | payment | As provided in the MakeAPayment request | string | 255 | ADI_ID parameter, provided in the MakeAPayment request. |
| org_id | Element | payment | As provided in the MakeAPayment request | string | 255 | ORG_ID parameter, provided in the MakeAPayment request. |
| unique_student_id | Element | payment | As provided in the MakeAPayment request | string | 255 | The Student ID, provided in the MakeAPayment request. |
| registered_date | Element | payment | YYYY-MM-DDThh:mm:ss+TZ | string | 30 | The date & time when the payment was registered in the TM system. |
| pending_date | Element | payment | YYYY-MM-DDThh:mm:ss+TZ | string | 30 | The date & time if the payment was set to Pending status in the TM system. |
| paid_date | Element | payment | YYYY-MM-DDThh:mm:ss+TZ | string | 30 | The date & time if the payment was set to Paid status in the TM system. |
| inactive_date | Element | payment | YYYY-MM-DDThh:mm:ss+TZ | string | 30 | The date & time if the payment was set to Inactive status in the TM system. |
| status_updated_date | Element | payment | YYYY-MM-DDThh:mm:ss+TZ | string | 30 | The date & time of the last status update. |
