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 limit and page in 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 nameType LengthDescription
[request]containerGeneral container for this resource. (XML only)

Global option fields:

Field nameType LengthDescription
limitnumericMaximum number of records that are included in the response. Default 100.
pagenumeric1-based page number to retrieve for large result sets. Default 1.
daysnumericOptional number of days to retrieve. Only values 1, 7 or 30 are currently supported.
flatnumericOptional 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.
periodstring 10-38Period 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.
dfromdatetime 10-19Date (and optional time) to start the list from (inclusive >=): YYYY-MM-DD (hh:ii:ss).
duntildatetime 10-19Date (and optional time) to stop the list (inclusive <=): YYYY-MM-DD (hh:ii:ss).
dtodatetime 10-19Date (and optional time) to stop the list (exclusive <): YYYY-MM-DD (hh:ii:ss).
tabstringFilter 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 nameType LengthDescription
id or nn_idstring 12CURO transaction-id to retrieve details of just a single transaction.
codestring ≤ 255transaction 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).
typestring ≤ 32Type of transaction: Payment, Chargeback, Refund, Recurring, Authorization or Debit.

REST response elements

List of transaction details.

Field nameType LengthDescription
[transactions]containerGeneral container for this resource.
idnumeric! internal numeric transaction ID.
parent_transaction_idstring 12optional parent/master CURO transaction nn-id linked to this transaction.
merchant_idnumericmerchant ID.
customer_idnumericoptional linked customer ID.
nn_idstring 12transaction non-numeric ID.
updateddt 19last transaction update date + time (UTC).
payment_type_idintegerinternal payment type id.
sitestringtext version of site id + description.
site_idintegersite id.
country_idstring 2registered country code.
currency_idstring 3registered currency code.
amountnumeric 10,2transaction amount in decimals.
amount_eunumeric 10,2transaction euro amount in decimals.
ipstring 40registered IP (v4 or v6 as passed to the API or gateway).
referencestring 255webshop reference as passed to the API or gateway.
descriptionstring 255description as passed to the API or gateway.
codenumeric transaction status-code.
typenumeric internal transaction type id:
1 Payment (credit),
2 Chargeback,
3 Refund,
4 Recurring,
5 Authorisation/mandate,
6 Debit payout.
book_datedate date when funds where booked.
consumer_emailstring consumer e-mail.
consumer_namestring consumer name.
metadatastring metadata.
totalnumeric total number of transactions for the given filter(s).
qinfostring

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 nameType LengthDescription
[transaction]containerGeneral container for this resource.
merchant_idnumericinternal CURO merchant ID.
site_idintegersite id.
site_namestringsite description.
codenumerictransaction status-code.
country_idstring 2registered country code.
currency_idstring 3registered currency code.
amountnumeric 10transaction amount in cents.
referencestring 255webshop reference as passed to the API or gateway.
parent_transaction_idstring 12optional parent/master CURO transaction nn-id linked to this transaction.
payment_type_idintegerinternal payment type id.
payment_typestringtext description of payment type.
optionstringdescription of payment module used for the transaction.
typenumericinternal transaction type id: 1 Payment (credit), 2 Chargeback, 3 Refund, 4 Recurring, 5 Authorisation/mandate, 6 Debit payout.
descriptionstring 255description as passed to the API or gateway.
[info]containerSpecific information depending on the payment_type and module.
testmodeintegeralways 0 for live transactions, 1 for test on the alpha/staging platform.
ipstring 40registered IP (v4 or v6 as passed to the API or gateway).
registereddatetime 19date + time (UTC) the transaction was registered.
updateddatetime 19last transaction update date + time (UTC).
finisheddatetime 19date + time (UTC) the transaction received a final status (see Notes).

[consumer] container optional — Consumer info associated with this transaction:

Field nameType LengthDescription
namestringConsumer’s first and last name combined.
firstnamestringConsumer’s first name.
lastnamestringConsumer’s last name.
emailstringConsumer’s e-mail.
country_idstring 2Consumer’s country code (determined using IP if not provided).
account_namestringName of account/card depending on payment_type_id.
account_numberstringNumber of account/card.
account_codestringName of bank or card scheme.

[payouts] container — Optional Payout details if this option is enabled for the Merchant. Will contain multiple items:

Field nameType LengthDescription
payout_type_idintegerInternal 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_descriptionstringTextual payout type description.
currencystring 3Payout currency (3 char ISO code).
amountnumericPayout amount in cents. Will be negative for fees!
due_datedatescheduled 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_numberstringnumber 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_datedateDate of the invoice/statement/settlement (YYYY-MM-DD).
can_refundnumeric1 when refund is (technically) possible.
refund_remaindernumericremaining funds that can be refunded (in cents).
refund_extra_limitnumericoptional extra limit available for refunds.
idstring 12unique CURO transaction nn_id.

Did this page help you?