This documentation provides a comprehensive guide to xMoney's REST API, enabling you to seamlessly authenticate, make requests, and retrieve data. Our API accepts form-encoded request bodies and returns responses in JSON format for easy integration with your applications.
https://docs.xmoney.com/_mock/api/reference/
https://api-stage.xmoney.com/
A string containing an exact monetary amount in the given currency. If you would want to charge €100.00 then you should provide 100.00
.
Type of the order. Possible values are:
purchase
: One-off payment.recurring
: A recurring order that will be billed automatically based on a defined interval. When using this type, the intervalType
and intervalValue
parameters are required.managed
: Merchant-managed order; rebilling is initiated by the merchant on request.credit
: Used for credit transactions or Original Credit Transactions (OCTs) / Card Funding Transactions (CFTs).An external order identifier. This can be used to link the order with an external system.
The value of the recurring interval. For example, if intervalType
is month
and intervalValue
is 3
, the order will recur every 3 months.
A comma-separated list of ISO 8601 Durations representing retry intervals for failed payments. For example, PT1H,PT2H
would retry once after 1 hour, and again after 2 hours. See ISO 8601 Durations for more information.
The amount to be charged for the initial (trial) payment. This value is also used to validate and store the payment method.
Use firstBillDate
to specify the initial billing date when it differs from the regular recurring interval (defined by intervalValue
). This is often used for trials. If firstBillDate
is used, trialAmount
must be greater than 0. Use ISO 8601 date, time and timezone offset.
URL to which the cardholder will be redirected after completing a 3D Secure or digital wallet payment.
Specifies the payment method for the transaction. Possible values include:
Card Payments (card
): For card payments, provide one of the following:
cardId
of the stored card.cardHolderName
, cardHolderCountry
, cardHolderState
(required if the country is US or CA), cardNumber
, cardExpiryDate
, and cardCvv
.Wallet Payments (wallet
): For digital wallet transactions, use wallet
and set the walletTransactionMode
parameter to either transfer
or credit
.
Specifies how the card transaction is processed.
auth
: Authorizes the card but does not capture the funds immediately. This is useful for verifying card details and holding funds before completing the purchase. A subsequent capture operation is required to settle the payment.authAndCapture
: Authorizes and immediately captures the funds. This is the standard mode for most transactions where payment is collected at the time of purchase.credit
: Processes a credit transaction (e.g., a refund or reversal). This mode is used to credit funds back to the cardholder.The card verification value (CVV). Three digits for Visa, Mastercard, Maestro; four digits for American Express.
The cardholder's country. Use ISO 3166-1 alpha-2 codes (e.g., US
).
The cardholder's state (for US and CA only). Use two-letter ISO 3166-2 codes. For US, see ISO 3166-2:US (e.g., NY
). For CA, see ISO 3166-2:CA (e.g., ON
).
Base64 encoded JSON object containing 3D Secure version 2 data, such as browser information and billing/shipping addresses. For details, see the 3-D Secure – Protocol and Core Functions Specification on the EMVCo website.
Custom data that will be passed back in the IPN callback. This field is not validated and can be used to send additional information. For complex data, use a JSON-encoded string.
Detailed information (JSON format) about items, tickets, etc. Refer to the API documentation for details
https://docs.xmoney.com/_mock/api/reference/order
https://api-stage.xmoney.com/order
curl -i -X POST \
https://docs.xmoney.com/_mock/api/reference/order \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d amount=10 \
-d currency=USD \
-d orderType=purchase \
-d customerId=123
{ "code": 0, "message": "string", "data": { "orderId": 0, "transactionId": 0, "cardId": 0, "is3d": 0, "isRedirect": true, "redirect": { … } } }
Filter by external order ID.
Filter by order type.
Filter by order status.
Filter by cancellation reason.
Filter by creation date bigger than this. Use ISO 8601 date, time and timezone offset.
Filter by creation date smaller than this. Use ISO 8601 date, time and timezone offset.
https://docs.xmoney.com/_mock/api/reference/order
https://api-stage.xmoney.com/order
curl -i -X GET \
'https://docs.xmoney.com/_mock/api/reference/order?createdAtFrom=2000-01-31T14%3A05%3A40%2B00%3A00&createdAtTo=2000-01-31T14%3A05%3A40%2B00%3A00&customerId=123&externalOrderId=92fe5b00-e284-4fca-b5d7-845348a009cc&orderStatus=complete-ok&orderType=purchase&page=1&perPage=100&reason=customer-demand&reverseSorting=0' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'
{ "code": 0, "message": "string", "pagination": { "currentPageNumber": 1, "totalItemCount": 0, "itemCountPerPage": 100, "currentItemCount": 0, "pageCount": 0 }, "data": [ { … } ] }
https://docs.xmoney.com/_mock/api/reference/order/{id}
https://api-stage.xmoney.com/order/{id}
curl -i -X GET \
https://docs.xmoney.com/_mock/api/reference/order/123 \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'
{ "code": 200, "message": "Success", "data": { "id": 0, "siteId": 0, "customerId": 0, "externalOrderId": "string", "orderType": "string", "orderStatus": "string", "amount": 0.1, "currency": "string", "description": "string", "invoiceEmail": "string", "createdAt": "2019-08-24T14:15:22Z", "intervalType": "day", "intervalValue": 0, "retryPayment": "string", "nextDueDate": "2019-08-24T14:15:22Z", "transactionMethod": "string" } }
Reason for cancellation
https://docs.xmoney.com/_mock/api/reference/order/{id}
https://api-stage.xmoney.com/order/{id}
curl -i -X DELETE \
https://docs.xmoney.com/_mock/api/reference/order/123 \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d reason=fraud-confirm \
-d message=string \
-d terminateOrder=yes
{ "code": 200, "message": "Success" }
https://docs.xmoney.com/_mock/api/reference/order-rebill/{id}
https://api-stage.xmoney.com/order-rebill/{id}
curl -i -X PATCH \
'https://docs.xmoney.com/_mock/api/reference/order-rebill/{id}' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d customerId=0 \
-d amount=0.1 \
-d transactionOption=string
{ "code": 0, "message": "string", "data": { "id": 0, "transactionId": 0, "cardId": 0 } }