Create Transaction

Create a new payment transaction for the chosen payment method.
Every payment request in the API will generate a new Transaction.

For a test transaction:

  1. Fill in your authorisation credentials in the Credentials header.
  2. Select the payment method in the payment_method path parameter (e.g. ideal).
  3. Under Body Params, select the matching request schema (e.g. iDEAL request).
  4. In the request panel on the right, open the Examples dropdown and select the
    matching example (e.g. iDEAL (ideal) request). This pre-fills the request body
    with sample data; fill in or adjust the required fields as needed.
    Note: the path parameter, request example and response example are not linked;
    the Examples dropdown only fills the request body.
  5. Submit the request by clicking the "Try it!" button.
  6. Check the response for the newly created transaction ID. A sample response per
    payment method (e.g. iDEAL (ideal) response) can be selected in the Response panel.

Payment method notes:

  • bancontact: the legacy entry point /payment/mistercash is an alias and
    accepts the same request elements.
  • riverty: the legacy entry point /payment/afterpay is an alias and
    accepts the same request elements.
  • przelewy24: can only process PLN transactions, so currency_id must be PLN.
  • banktransfer: the destination account details the consumer has to use for
    the transfer are returned in the pmdata container of the response.
Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
string
enum
required
Defaults to ideal

The payment method for the new transaction. Use the request body
matching this value (see the request body schema and examples).

The legacy values mistercash (alias of bancontact) and afterpay
(alias of riverty) are still accepted.

Body Params

Request body for an iDEAL payment (payment_method = ideal).
Includes the generic request elements together with the consumer and
cartitems containers, plus the optional recurring flag.

integer
required
≤ 9999999999

Merchant's site ID.

string
required
length ≤ 255

Valid return URL beginning with http:// or https:// where a consumer will be redirected after payment.

string
length ≤ 255

Optional return URL for pending payments. The url_success will be used if not specified.

string
required
length ≤ 255

Return URL for failed payments.

string
length ≤ 255

Optional return URL for cancelled payments. The url_failure will be used if not specified.

string
length ≤ 255

URL which will receive transaction updates automatically; please check Callback for more information. (recommended)

string
required
length ≤ 255

Unique merchant identification for a transaction.

integer
required
1 to 9999999999

The amount in cents (with no decimal separator).

string
required
^[A-Z]{3}$

Currency in which payment should be effected, expressed using the three-letter international currency code as per ISO-4217.

string
length ≤ 255

The e-mail address of the consumer for this payment.
Required if it is not included in the consumer container.

string
required
length ≤ 128

Transaction description which will be presented to the user if supported by the payment method.

string
length ≤ 255

Extra information to store with the transaction.

string
required
length ≤ 64

Consumer's IP address.
Note: although IP6 addresses are supported by CURO, most payment methods (still) don't support it.
Please do not use your own (host) IP as this may cause it to be blocked or throttled!
Private IP ranges will also be refused by this API. Use 0.0.0.0 to indicate unknown.

string
length ≤ 2

ISO country code of the consumer.

string
length ≤ 2

This field enables the issuer's site to select the consumer's preferred language.
Possible options: cz (Czech), hr (Croatian), da/dk (Danish), nl (Dutch), en (English, default),
fr (French), fi (Finnish), de (German), gr (Greek), hu (Hungarian), it (Italian),
no (Norwegian), pl (Polish), pt (Portuguese), ru (Russian), es (Spanish), se (Swedish), tr (Turkish).

string
length ≤ 64

Optional name of the e-commerce platform integrating with the API (e.g. "PHP", "Magento").

string
length ≤ 32

Optional version of the e-commerce platform.

string
length ≤ 64

Optional name of the plugin/integration used.

string
length ≤ 32

Optional version of the plugin/integration used.

consumer
object

Consumer and shipping information for this transaction. Some fields are required depending on payment method.

integer
0 to 2

Indicate this as a master/mandate transaction for recurring payments
(using SEPA Direct Debit). Options are 0, 1 and 2.
Contact account manager to enable recurring.

cartitems
array of objects

The cart items of the webshop order.

cartitems
Responses

Language
Credentials
Basic
base64
:
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json