Transactions Module
The Transaction Module can be used to retrieve the latest details of any transaction, or a list of transactions.
Optional filters can be given on many fields listed below by providing values in POST or GET request variables.
Note
- This module uses the same routines as the CURO Back-Office (
my.curopayments.net) presentation layer, so results are not the same as REST API Transaction Details.- By default the result will be limited to 1 page of maximum 100 records. Other settings can be provided as
limitandpagein the request.- Date-time values will be in GMT/UTC without any timezone conversion.
List
Retrieve a list of transactions.
Entry point: /rest/v1/transactions/
REST request elements
| Field name | Description | |
|---|---|---|
[request] | container | General container for this resource. (XML only) |
Global option fields:
| Field name | Description | |
|---|---|---|
limit | numeric | Maximum number of records that are included in the response. Default 100. |
page | numeric | 1-based page number to retrieve for large result sets. Default 1. |
days | numeric | Optional number of days to retrieve. Only values 1, 7 or 30 are currently supported. |
flat | numeric | Optional value to retrieve records a "flat" array instead of associative to speed things up. 1 = return field values only. 2 = return field values + add separate fields array with all field names. |
period | Period filter on start-stop date (and optional time): YYYY-MM-DD (hh:ii:ss)~YYYY-MM-DD (hh:ii:ss). If a second value after the ~ is not provided, the value will be used like dfrom. | |
dfrom | Date (and optional time) to start the list from (inclusive >=): YYYY-MM-DD (hh:ii:ss). | |
duntil | Date (and optional time) to stop the list (inclusive <=): YYYY-MM-DD (hh:ii:ss). | |
dto | Date (and optional time) to stop the list (exclusive <): YYYY-MM-DD (hh:ii:ss). | |
tab | string | Filter like standard back-office Tabs: success = all successful transactions (codes 2XXX and 4XX).failure = failed transactions (codes 3XX).active = unfinished transactions (codes 0, 1XX, 7XX).waiting = waiting transactions (701). |
Filter option fields:
| Field name | Description | |
|---|---|---|
id or nn_id | CURO transaction-id to retrieve details of just a single transaction. | |
code | transaction status-code to filter on. Use a single digit to filter on ranges: 1 pending transactions (code 1XX), 2 successful transactions (code 2XX), 3 failed transactions (code 3XX), 4 refunds and reverted transactions (code 4XX), 7 waiting transactions (code 7XX). | |
type | Type of transaction: Payment, Chargeback, Refund, Recurring, Authorization or Debit. |
REST response elements
List of transaction details.
| Field name | Description | |
|---|---|---|
[transactions] | container | General container for this resource. |
id | ! internal numeric transaction ID. | |
parent_transaction_id | optional parent/master CURO transaction nn-id linked to this transaction. | |
merchant_id | merchant ID. | |
customer_id | optional linked customer ID. | |
nn_id | transaction non-numeric ID. | |
updated | last transaction update date + time (UTC). | |
payment_type_id | internal payment type id. | |
site | text version of site id + description. | |
site_id | site id. | |
country_id | registered country code. | |
currency_id | registered currency code. | |
amount | transaction amount in decimals. | |
amount_eu | transaction euro amount in decimals. | |
ip | registered IP (v4 or v6 as passed to the API or gateway). | |
reference | webshop reference as passed to the API or gateway. | |
description | description as passed to the API or gateway. | |
code | transaction status-code. | |
type | internal transaction type id: 1 Payment (credit), 2 Chargeback, 3 Refund, 4 Recurring, 5 Authorisation/mandate, 6 Debit payout. | |
book_date | date when funds where booked. | |
consumer_email | consumer e-mail. | |
consumer_name | consumer name. | |
metadata | metadata. | |
total | total number of transactions for the given filter(s). | |
qinfo |
Single Transaction Details
Entry point: /rest/v1/transaction/[<id | transaction_nn_id | reference>]
REST request elements
If you do not provide a transaction id the last current transaction (based on transaction id) will be returned.
REST response elements
| Field name | Description | |
|---|---|---|
[transaction] | container | General container for this resource. |
merchant_id | internal CURO merchant ID. | |
site_id | site id. | |
site_name | site description. | |
code | transaction status-code. | |
country_id | registered country code. | |
currency_id | registered currency code. | |
amount | transaction amount in cents. | |
reference | webshop reference as passed to the API or gateway. | |
parent_transaction_id | optional parent/master CURO transaction nn-id linked to this transaction. | |
payment_type_id | internal payment type id. | |
payment_type | text description of payment type. | |
option | description of payment module used for the transaction. | |
type | internal transaction type id: 1 Payment (credit), 2 Chargeback, 3 Refund, 4 Recurring, 5 Authorisation/mandate, 6 Debit payout. | |
description | description as passed to the API or gateway. | |
[info] | container | Specific information depending on the payment_type and module. |
testmode | always 0 for live transactions, 1 for test on the alpha/staging platform. | |
ip | registered IP (v4 or v6 as passed to the API or gateway). | |
registered | date + time (UTC) the transaction was registered. | |
updated | last transaction update date + time (UTC). | |
finished | date + time (UTC) the transaction received a final status (see Notes). |
[consumer] container optional — Consumer info associated with this transaction:
| Field name | Description | |
|---|---|---|
name | Consumer’s first and last name combined. | |
firstname | Consumer’s first name. | |
lastname | Consumer’s last name. | |
email | Consumer’s e-mail. | |
country_id | Consumer’s country code (determined using IP if not provided). | |
account_name | Name of account/card depending on payment_type_id. | |
account_number | Number of account/card. | |
account_code | Name of bank or card scheme. |
[payouts] container — Optional Payout details if this option is enabled for the Merchant. Will contain multiple items:
| Field name | Description | |
|---|---|---|
payout_type_id | Internal payout type identifier: 1 Processed payment (full consumer amount), 2 Transaction costs, 3 (Rolling) Reserves, 4 Reserves payout, 5 Referral fee, 6 Refund buffer, 7 Processed payments (correction), 9 Refund fee, 10 Refund, 11 Failed transactions fee, 18 Processed payments (distributing), 19 transaction costs (distributing), 24 Chargeback fee, 25 Chargeback, 26 Reseller commission, 28 Transaction costs (correction), 29 Anti-fraud check, 30 SMS fee. | |
type_description | Textual payout type description. | |
currency | Payout currency (3 char ISO code). | |
amount | Payout amount in cents. Will be negative for fees! | |
due_date | scheduled payout date. This is usually the same day, but some payment methods like credit card or Online Überweisen have a delay of 3-5 working days. | |
invoice_number | number of the invoice the payout/fee is on. This will be assigned when the payout is picked up by a payout-run (usually on Mondays and Thursdays). Each run will create a Statement, Invoice and Settlement: Statement (no. SYYM.<merchant-id>.123456789) = gross consumers transaction amount to be payed out. Invoice (no. CYYM.<merchant-id>.123456789) = costs and fees. Settlement (no. RYYM.<merchant-id>.123456789) = reconciliation of Statement+Invoice. | |
invoice_date | Date of the invoice/statement/settlement (YYYY-MM-DD). | |
can_refund | 1 when refund is (technically) possible. | |
refund_remainder | remaining funds that can be refunded (in cents). | |
refund_extra_limit | optional extra limit available for refunds. | |
id | unique CURO transaction nn_id. |
Updated 2 months ago