RPay API gateway (0.0.1)

Download OpenAPI specification:Download

Introduction

API gateway is an entrypoint to setup online-payments with RozetkaPay.

Basic information

Authorization

Main type of authorization is BasicAuth which is always required. To perform payment requests on behalf of another login, you have to provide it in onBehalfOf header. If you would like to receive customer's information with RID auth token - add customerAuth to your request.

BasicAuth

Basic Auth consists of login and password combined into a header field in the following form:

Authorization: Basic <credentials>

where <credentials> is the Base64 encoding of login and password joined by a single colon :.

You should be provided with login and password by our support team. Otherwise, if you have already been using other RozetkaPay online payments API, you can reuse previously provided API_KEY and API_SECRET for X-API-AUTH header as login and password respectively to authorize into API Gateway.

Security Scheme Type: basic

customerAuth

RID personal auth token to access customer's wallet

Security Scheme Type: API Key
Header parameter name: X-CUSTOMER-AUTH

onBehalfOf

Used for partnership mode, when one core account operates with several children

Security Scheme Type: API Key
Header parameter name: X-ON-BEHALF-OF

Rate Limits

RozetkaPay applies rate limit for its APIs.

API client should handle rate limiting gracefully. It is recommended to watch for 429 status codes and build in a retry mechanism with an exponential backoff schedule. Some randomness could be added into the backoff to avoid a thundering herd effect. X-RATELIMIT-RESET header (time in seconds, after which requests are allowed again) could be used as a basis for retry mechanism.

Example of headers for 1000 requests/second rate limit (after first request):

Header field name Description Example
X-RATELIMIT-LIMIT Allowed requests per second X-RATELIMIT-LIMIT: 1000
X-RATELIMIT-RESET Time to reset in seconds X-RATELIMIT-RESET: 0
X-RATELIMIT-REMAINING Number of left requests X-RATELIMIT-REMAINING: 999

Callback verification

Each callback sent by RozetkaPay is signed using the merchant's password used for the payment operation. The signature is included with the callback and can be found in the X-ROZETKAPAY-SIGNATURE header. This header allows you to verify that the callback is from RozetkaPay.

Calculation algorithm:

signature=base64url_encode(sha1($password + base64url_encode($json_body) + $password))

Example of signature calculation in python

import base64
import hashlib

def webhook_signature(password: str, data: str, encoding: str = 'UTF-8') -> str:
    """
    Generate a webhook signature for verification.

    Args:
        password (str): Password used for the payment operation.
        data (str): String representation of the callback content.
        encoding (str, optional): Encoding to be used. Defaults to 'UTF-8'.

    Returns:
        str: Generated signature.
    """
    base64_data = base64.urlsafe_b64encode(data.encode(encoding)).decode(encoding)
    signature_data = password + base64_data + password
    signature = base64.urlsafe_b64encode(
        hashlib.sha1(signature_data.encode(encoding)).digest()
    ).decode(encoding)
    return signature

# Body received from callback
callback_body = '{"name": "john", "age": 21}'

# Result signature
print(webhook_signature('your_password', callback_body))

Note: Do not remove the = padding during base64 URL-safe encoding, or the signature will be incorrectly calculated.

Apple Pay & Google Pay

If you wish to provide your customers a better experience, we support online payments with Apple Pay & Google Pay. You have two options to integrate those payment methods:

  1. Via our checkout (this way you only have to ask for the feature, and the buttons will appear to customers). Refer to Create payment operation for details.
  2. Embedding button into your website or mobile application - this requires some additional steps from you to generate Apple/Google Pay tokens and pass it to us via Create payment operation.

Apple Pay

To add the Apple Pay entitlement to your website or mobile application, you need to have:

To integrate Apple Pay to your mobile application, follow the instruction.

To integrate Apple Pay to your website, follow the instruction.

After you completed the integration with Apple Pay for any of your environment (mobile or web), you should receive the following kind of JSON object as a result of Apple Pay call:

{
  "version":              "EC_v1",
  "data":                 "zTMZDPumdE7h8oY/+31VMZd60dMaxB...",
  "signature":            "MIAGCSqGSIb3DQEHA...",
  "header": {
    "ephemeralPublicKey": "MFkwEwYHKoZIzj0C...",
    "publicKeyHash":      "3AKqH/wPWdQIBpGIv1PC4uDTbGouPgWbmUlFGiHopig=",
    "transactionId":      "d6e63976191fdf051f7cb95e0e5da70a19c99a5576ececbfc0fd65ad2a7f2f74"
  }
}

This payload should be encoded to Base64 and passed in customer.payment_method.apple_pay.token field on Create payment operation.

Google Pay

Firstly please review the following documentation in order to get familiar with the integration process:

The gateway parameter in the script should have the constant value of evopay.

The value of the gatewayMerchantId parameter should be a unique identifier which can be provided via our Support team.

In response, Google shall return the PaymentData item, and the field paymentMethodData.tokenizationData.token shall contain a safely encrypted Google Pay Token (a string of characters). This string should be encoded to Base64 and passed in customer.payment_method.google_pay.token field on Create payment operation.

Widget

In order to smoothly collect customer's card details, you have to use our Widget Checkout. It might be embedded into your web page and should provide smooth and secure credit card tokenization flow.

Integration

Include script tag into your website: <script src="https://cdn.rozetkapay.com/widget.js" async></script>

The script is loaded asynchronously.

init() method receive parameters:

let initParams = {
 /* Widget token issued by RozetkaPay */
 key: 'hQ8aqcm/RG1RF7MaImmzZUsThYhAVDG6R7kazf9+r7zuoWo6',
 /* Optional amount */
 amount: 350.5,
 /* Currently, only 'inline' mode is supported */
 mode: 'inline',
 /* Optional user language */
 lang: 'uk',
 /* Optional predefined custom style */
 style: 'evo',
 /* Optional widget type */
 type: 'full_card',
 /* Optional customer ip */
 customer_ip: '127.0.0.1',
 /* Optional customer id */
 customer_id: '123',
 /* Optional customer email */
 customer_email: 'tom.hanks@example.com',
 /* Optional customer country */
 customer_country: 'UA',
 /* Optional customer city */
 customer_city: 'Kyiv',
 /* Identifier of HTML element (for 'inline' mode only) */
 selector: 'widget-checkout',
 /* Handler for receiving token data */
 onToken: function(tokenData) {
   /*
     It is guaranteed that`tokenData` will have the following fields:
     {
       "token": "String(<=128)",
       "expires_at": "ISO-8601 DateTime",
       "card_mask": "String(13-19)"
     }
   */
 }
};

let widget = RPayCardWidget.init(initParams)

RPayCardWidget#init parameters:

Parameter Type Required Description
key String API token issued by RozetkaPay.
mode String Should be equal to inline.
selector String Identifier of HTML element (e.g. div id={payform-holder}) where the widget will be mounted (for inline mode).
onToken Function Callback to invoke when the checkout process is complete.
amount Number Optional amount to be shown in widget for UX purposes.
locale Object Locale customization
lang String Preferred widget localization. Currently supported languages: en, uk, pl.
style String Optional predefined custom style
type String Optional widget type. Available options: full_card(default) - collect all card credentials (payments), pan_only - tokenize only card number (payouts).
template String Optional custom template. Currently supported templates: line
customer_ip String Optional customer IP address.
customer_id String Optional customer identifier in merchant's system (required in case of External tokenization).
customer_email String Optional customer email (required in case of External tokenization).
customer_country String Optional customer country.
customer_city String Optional customer city.
locale Object Optional object to set text for widget elements.

locale object example

{
  "uk": {
    "cardNumber": "Номер карти",
    "expiryDate": "Строк дії",
    "cvv": "CVV",
    "submit": "Сплатити",
    "yy": "ГГ",
    "mm": "ММ",
    "hints": {
      "cvvHint": "Код міститься на зворотній стороні карти"
    },
    "errors": {
      "cardnumber": "Неправильний номер карти",
      "expiryDate": "Строк дії карти закінчився",
      "cvv": "Некорректний CVV/CVC2 код"
    }
  }
}

#onToken parameters:

Parameter Type Required Description
token String(≤128) Token issued by RozetkaPay. Acceptable for payments via direct mode.
expires_at String(26) ISO-8601 timestamp (yyyy-mm-ddThh:mm:ss). End of token life. Example: 2099-12-31T00:00:00.
card_mask String(13-19) Mask of tokenized card. Example: 424242******4242.

Widget API

RPayCardWidget#init return special control object with the following API methods:

Method Parameter Description
widget.open() none Render widget
widget.close() none Force close widget

Integration examples

Eager widget loading:

// Eagerly initialize widget
function __onWidgetReady() {
  let widget = RPayCardWidget.init({
                    key: 'hQ8aqcm/RG1RF7MaImmzZUsThYhAVDG6R7kazf9+r7zuoWo6',
                    amount: 350.5,
                    mode: 'inline',
                    lang: 'uk',
                    selector: 'widget-checkout',
                    /* Handler for receiving token data */
                    onToken: function(tokenData) {
                      /* Handle token data. For example, create direct payment or add card to wallet */
                      backend.submitPayment(orderId, tokenData);
                    }
                  });
}

const payButton = document.getElementById('btn-pay');

// Open widget on action
payButton.addEventListener('click', function(e) {
  e.preventDefault();

  widget.open();
});

After internal form submission, RozetkaPay token token will be sent in response to onToken function.

If script was loaded asynchronously, you should wrap init() method in function wrapper: __onWidgetReady

Lazy widget loading

// Create widget entity on button click (for example, radio button option)
function __onWidgetReady() {
  document
    .getElementById('btn-pay')
    .addEventListener('click', function(e) {
        e.preventDefault();
        RPayCardWidget
          .init({
            key: 'hQ8aqcm/RG1RF7MaImmzZUsThYhAVDG6R7kazf9+r7zuoWo6',
            amount: 350.5,
            mode: 'inline',
            lang: 'uk',
            selector: 'widget-checkout',
            /* Handler for receiving token data */
            onToken: function(tokenData) {
              // Handle token data. For example, create direct payment or add card to wallet.
              backend.submitToken(orderId, tokenData);
            }
          })
          .open();
      }
    );
}

Initialize and open widget instantly

  function __onWidgetReady() {
    RPayCardWidget.init({ ... }).open();
  }

Widget Events

Example usage:

    document.addEventListener('widget-init-ready', () => {
      widget.open();
    })
    document.addEventListener('widget-init-error', (e) => {
      console.error('error', e.detail.id, e.detail.message)
    });

After widget is successfully initiated, widget-init-ready event is dispatched. Otherwise, in case of error, widget will dispatch widget-init-error error. You can add event listener to this events.

Testing your integrations

Test cards for Aquiring flow

Card number Expiration date CVV 3D Secure Result
4242 4242 4242 4242 any any yes success
5454 5454 5454 5454 any any yes success
4111 1111 1111 1111 any any no success
5555 5555 5555 4444 any any no success
4200 0000 0000 0000 any any yes rejected
5105 1051 0510 5100 any any yes rejected
4444 3333 2222 1111 any any no rejected
5100 0000 2000 2000 any any no rejected
4000 0000 0000 0044 any any no insufficient-funds

Test order details for the PayParts flow. This works only with the 'stub' bank and exclusively on the development environment.

Phone number Confirmation Result
+380000000001 Webpage success
+380000000002 Webpage success
+380000000003 None success
+380000000004 None success
+380000000007 Webpage rejected
+380000000008 Webpage rejected
+380000000009 None rejected
+380000000010 None rejected

payments

Accept online payments using this methods

Create payment

Creates payment and performs desired operation. When mode is set to direct - customer field becomes required.

Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
Request Body schema: application/json
amount
required
number
callback_url
string <url>
result_url
string <url>
confirm
boolean
Default: true

If true - funds are transferred to recipient account. If false - you have to call POST /api/payments/v1/confirm for additional confirmation of funds transfer.

currency
required
string
object (CustomerRequestUserDetails)
description
string
external_id
required
string

You can use external_id to link the corresponding payment within your system. This could be order ID or any other logical identifier. You can pass same external ID on every payment attempt until you receive success one. At most one success payment is allowed with same external_id within single login. If such condition occurs, request will complete with corresponding error.

unified_external_id
string

Unified external id.

payload
string
init_recurrent_payment
boolean
Array of objects (Product)
object (RecipientRequestUserDetails)
mode
required
string (PaymentMode)
Enum: "direct" "hosted" "express_checkout"

Describes the way of the integration:

  • hosted - returns checkout page, where user can enter his payment details.
  • direct - requires customer's payment details in request. Usually returns url for second factor (3DS or other).
  • express_checkout - requires list of products in request. Returns checkout url.

Responses

Callbacks

Request samples

Content type
application/json
{
  • "amount": 0,
  • "callback_url": "string",
  • "result_url": "string",
  • "confirm": true,
  • "currency": "string",
  • "customer": {
    },
  • "description": "string",
  • "external_id": "string",
  • "unified_external_id": "string",
  • "payload": "string",
  • "init_recurrent_payment": true,
  • "products": [
    ],
  • "recipient": {
    },
  • "mode": "direct"
}

Response samples

Content type
application/json
{
  • "action": {
    },
  • "action_required": true,
  • "details": {
    },
  • "external_id": "string",
  • "unified_external_id": "string",
  • "batch_external_id": "string",
  • "id": "0",
  • "project_id": "string",
  • "is_success": true,
  • "receipt_url": "string",
  • "payment_method": {
    },
  • "customer": {
    },
  • "operation": "payment"
}

Callback payload samples

Callback
POST: Processing callback
Content type
application/json
{
  • "action": {
    },
  • "action_required": true,
  • "details": {
    },
  • "external_id": "string",
  • "unified_external_id": "string",
  • "batch_external_id": "string",
  • "id": "0",
  • "project_id": "string",
  • "is_success": true,
  • "receipt_url": "string",
  • "payment_method": {
    },
  • "customer": {
    },
  • "operation": "payment"
}

Create recurrent payment

Creates payment and performs desired operation.

Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
Request Body schema: application/json
recurrent_id
required
string
external_id
required
string
amount
required
number
callback_url
string <url>
payload
string
delegate_api_key
string <uuid>

If a delegate_api_key is provided, the recurrent payment will be processed in favor of the delegate_api_key owner using the payment data from the initial payment.

Responses

Callbacks

Request samples

Content type
application/json
{
  • "recurrent_id": "string",
  • "external_id": "string",
  • "amount": 0,
  • "callback_url": "string",
  • "payload": "string",
  • "delegate_api_key": "bb039837-c4b7-4c69-91da-9d72ca8bc66c"
}

Response samples

Content type
application/json
{
  • "action": {
    },
  • "action_required": true,
  • "details": {
    },
  • "external_id": "string",
  • "unified_external_id": "string",
  • "batch_external_id": "string",
  • "id": "0",
  • "project_id": "string",
  • "is_success": true,
  • "receipt_url": "string",
  • "payment_method": {
    },
  • "customer": {
    },
  • "operation": "payment"
}

Callback payload samples

Callback
POST: Processing callback
Content type
application/json
{
  • "action": {
    },
  • "action_required": true,
  • "details": {
    },
  • "external_id": "string",
  • "unified_external_id": "string",
  • "batch_external_id": "string",
  • "id": "0",
  • "project_id": "string",
  • "is_success": true,
  • "receipt_url": "string",
  • "payment_method": {
    },
  • "customer": {
    },
  • "operation": "payment"
}

Confirm payment

Confirm two-step payment.

Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
Request Body schema: application/json
external_id
required
string

External ID of a payment, passed from your side on create.

amount
number
callback_url
string <url>
currency
string
payload
string

Responses

Callbacks

Request samples

Content type
application/json
{
  • "external_id": "string",
  • "amount": 0,
  • "callback_url": "string",
  • "currency": "string",
  • "payload": "string"
}

Response samples

Content type
application/json
{
  • "action": {
    },
  • "action_required": true,
  • "details": {
    },
  • "external_id": "string",
  • "unified_external_id": "string",
  • "batch_external_id": "string",
  • "id": "0",
  • "project_id": "string",
  • "is_success": true,
  • "receipt_url": "string",
  • "payment_method": {
    },
  • "customer": {
    },
  • "operation": "payment"
}

Callback payload samples

Callback
POST: Processing callback
Content type
application/json
{
  • "action": {
    },
  • "action_required": true,
  • "details": {
    },
  • "external_id": "string",
  • "unified_external_id": "string",
  • "batch_external_id": "string",
  • "id": "0",
  • "project_id": "string",
  • "is_success": true,
  • "receipt_url": "string",
  • "payment_method": {
    },
  • "customer": {
    },
  • "operation": "payment"
}

Cancel payment

Cancel two-step payment

Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
Request Body schema: application/json
external_id
required
string

External ID of a payment, passed from your side on create.

amount
number
callback_url
string <url>
currency
string
payload
string

Responses

Callbacks

Request samples

Content type
application/json
{
  • "external_id": "string",
  • "amount": 0,
  • "callback_url": "string",
  • "currency": "string",
  • "payload": "string"
}

Response samples

Content type
application/json
{
  • "action": {
    },
  • "action_required": true,
  • "details": {
    },
  • "external_id": "string",
  • "unified_external_id": "string",
  • "batch_external_id": "string",
  • "id": "0",
  • "project_id": "string",
  • "is_success": true,
  • "receipt_url": "string",
  • "payment_method": {
    },
  • "customer": {
    },
  • "operation": "payment"
}

Callback payload samples

Callback
POST: Processing callback
Content type
application/json
{
  • "action": {
    },
  • "action_required": true,
  • "details": {
    },
  • "external_id": "string",
  • "unified_external_id": "string",
  • "batch_external_id": "string",
  • "id": "0",
  • "project_id": "string",
  • "is_success": true,
  • "receipt_url": "string",
  • "payment_method": {
    },
  • "customer": {
    },
  • "operation": "payment"
}

Refund Payment

Refund one-step payment after withdrawal, or two-step payment after confirmation.

Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
Request Body schema: application/json
external_id
required
string

External ID of a payment, passed from your side on create.

amount
number
callback_url
string <url>
currency
string
payload
string

Responses

Callbacks

Request samples

Content type
application/json
{
  • "external_id": "string",
  • "amount": 0,
  • "callback_url": "string",
  • "currency": "string",
  • "payload": "string"
}

Response samples

Content type
application/json
{
  • "action": {
    },
  • "action_required": true,
  • "details": {
    },
  • "external_id": "string",
  • "unified_external_id": "string",
  • "batch_external_id": "string",
  • "id": "0",
  • "project_id": "string",
  • "is_success": true,
  • "receipt_url": "string",
  • "payment_method": {
    },
  • "customer": {
    },
  • "operation": "payment"
}

Callback payload samples

Callback
POST: Processing callback
Content type
application/json
{
  • "action": {
    },
  • "action_required": true,
  • "details": {
    },
  • "external_id": "string",
  • "unified_external_id": "string",
  • "batch_external_id": "string",
  • "id": "0",
  • "project_id": "string",
  • "is_success": true,
  • "receipt_url": "string",
  • "payment_method": {
    },
  • "customer": {
    },
  • "operation": "payment"
}

Payment info

Get payment info by id

Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
query Parameters
external_id
required
any

External ID (unique identifier)

Responses

Response samples

Content type
application/json
{
  • "action": {
    },
  • "action_required": true,
  • "amount": 0,
  • "amount_canceled": 0,
  • "amount_confirmed": 0,
  • "amount_refunded": 0,
  • "canceled": true,
  • "cancellation_details": [
    ],
  • "confirmation_details": [
    ],
  • "confirmed": true,
  • "created_at": "2019-08-24T14:15:22Z",
  • "currency": "string",
  • "external_id": "string",
  • "batch_external_id": "string",
  • "id": "string",
  • "unified_external_id": "string",
  • "purchase_details": [
    ],
  • "purchased": true,
  • "receipt_url": "string",
  • "refund_details": [
    ],
  • "refunded": true,
  • "customer": {
    },
  • "partner_details": {
    },
  • "delivery_details": {
    }
}

Resend callback

Prepares the data about the specified payment of transaction and sends it into callback_url which was provided on the payment step. If the operation field is not provided the callback will be sent for the last operation.

Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
Request Body schema: application/json
external_id
required
string
operation
string (OperationType)
Enum: "payment" "confirm" "refund" "cancel"

Responses

Callbacks

Request samples

Content type
application/json
{
  • "external_id": "string",
  • "operation": "payment"
}

Response samples

Content type
application/json
{
  • "code": "authorization_failed",
  • "message": "string",
  • "param": "string",
  • "payment_id": "string",
  • "type": "invalid_request_error",
  • "error_id": "string"
}

Callback payload samples

Callback
POST: Processing callback
Content type
application/json
{
  • "action": {
    },
  • "action_required": true,
  • "details": {
    },
  • "external_id": "string",
  • "unified_external_id": "string",
  • "batch_external_id": "string",
  • "id": "0",
  • "project_id": "string",
  • "is_success": true,
  • "receipt_url": "string",
  • "payment_method": {
    },
  • "customer": {
    },
  • "operation": "payment"
}

Card lookup

Starts card confirmation process that allows to use this card for future operations. Result of the confirmation will be sent via callback. When mode is set to direct - customer field becomes required.

Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
Request Body schema: application/json
callback_url
string <url>
result_url
string <url>
object (CustomerRequestUserDetails)
description
string
payload
string
mode
required
string (PaymentMode)
Enum: "direct" "hosted" "express_checkout"

Describes the way of the integration:

  • hosted - returns checkout page, where user can enter his payment details.
  • direct - requires customer's payment details in request. Usually returns url for second factor (3DS or other).
  • express_checkout - requires list of products in request. Returns checkout url.

Responses

Callbacks

Request samples

Content type
application/json
{
  • "callback_url": "string",
  • "result_url": "string",
  • "customer": {
    },
  • "description": "string",
  • "payload": "string",
  • "mode": "direct"
}

Response samples

Content type
application/json
{
  • "action": {
    },
  • "action_required": true,
  • "details": {
    },
  • "external_id": "string",
  • "unified_external_id": "string",
  • "batch_external_id": "string",
  • "id": "0",
  • "project_id": "string",
  • "is_success": true,
  • "receipt_url": "string",
  • "payment_method": {
    },
  • "customer": {
    },
  • "operation": "payment"
}

Callback payload samples

Callback
POST: Processing callback
Content type
application/json
{
  • "action": {
    },
  • "action_required": true,
  • "details": {
    },
  • "external_id": "string",
  • "unified_external_id": "string",
  • "batch_external_id": "string",
  • "id": "0",
  • "project_id": "string",
  • "is_success": true,
  • "receipt_url": "string",
  • "payment_method": {
    },
  • "customer": {
    },
  • "operation": "payment"
}

Payment Receipt

Get receipt url by id

Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
query Parameters
external_id
required
any

External ID (unique identifier)

Responses

Response samples

Content type
application/json
{}

batch

Accept online batch payments using this methods

Create batch acquiring payment

Creates batch payment and performs desired operation.

Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
Request Body schema: application/json
callback_url
string <url>

URL to receive callback after finalization of batch operation.

currency
required
string

Batch payment currency.

required
object (BatchCustomerRequestUserDetails)

Payer customer data.

mode
required
string (BatchPaymentMode)
Value: "direct"

Describes the way of the integration:

  • direct - requires customer's payment details in request. Usually returns url for second factor (3DS or other).
payload
string

Additional data transmitted with the batch payment request. One parameter for the entire batch.

result_url
string <url>

URL to receive payment result.

required
Array of objects (BatchOrder) <= 10 items

List of orders of batch.

batch_external_id
required
string

External identifier from the merchant, one per batch. Unique within the project.

Responses

Callbacks

Request samples

Content type
application/json
{
  • "callback_url": "string",
  • "currency": "string",
  • "customer": {
    },
  • "mode": "direct",
  • "payload": "string",
  • "result_url": "string",
  • "orders": [
    ],
  • "batch_external_id": "string"
}

Response samples

Content type
application/json
{
  • "id": "0",
  • "action_required": true,
  • "action": {
    },
  • "batch_details": {
    },
  • "payment_method": {
    },
  • "order_details": [
    ],
  • "batch_external_id": "string",
  • "receipt_url": "string"
}

Callback payload samples

Callback
POST: Processing callback
Content type
application/json
{
  • "action": {
    },
  • "action_required": true,
  • "details": {
    },
  • "external_id": "string",
  • "unified_external_id": "string",
  • "batch_external_id": "string",
  • "id": "0",
  • "project_id": "string",
  • "is_success": true,
  • "receipt_url": "string",
  • "payment_method": {
    },
  • "customer": {
    },
  • "operation": "payment"
}

payouts

Online and offline payouts

Create payout request

Creates a payout request with desired payout type.

Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
Request Body schema: application/json
required
object
required
object
required
object (PayoutRecipient)

Responses

Callbacks

Request samples

Content type
application/json
{
  • "order": {
    },
  • "payer": {
    },
  • "recipient": {
    }
}

Response samples

Content type
application/json
{
  • "currency": "string",
  • "description": "string",
  • "external_id": "string",
  • "fc_id": 0,
  • "original_amount": 0,
  • "partner_key_id": "string",
  • "payer_account": {
    },
  • "payer_amount": 0,
  • "payer_outer_fee": 0,
  • "payment_type": "string",
  • "payout_type": "string",
  • "recipient_user": {
    },
  • "status": "init",
  • "status_code": "string",
  • "status_code_description": "string",
  • "transaction_id": "string"
}

Callback payload samples

Callback
POST: Payout result.
Content type
application/json
{
  • "transaction_id": "string",
  • "partner_key_id": "string",
  • "external_id": "string",
  • "fc_id": 0,
  • "currency": "string",
  • "original_amount": 0,
  • "payer_amount": 0,
  • "payer_outer_fee": 0,
  • "recipient_amount": 0,
  • "payment_type": "string",
  • "payout_type": "string",
  • "status": "init",
  • "status_code": "string",
  • "status_code_description": "string"
}

Get transaction status

Get payout transaction status

Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
query Parameters
external_id
required
any

Identifier of the transaction in your platform

Responses

Response samples

Content type
application/json
{
  • "currency": "string",
  • "description": "string",
  • "external_id": "string",
  • "fc_id": 0,
  • "original_amount": 0,
  • "partner_key_id": "string",
  • "payer_account": {
    },
  • "payer_amount": 0,
  • "payer_outer_fee": 0,
  • "payment_type": "string",
  • "payout_type": "string",
  • "recipient_user": {
    },
  • "status": "init",
  • "status_code": "string",
  • "status_code_description": "string",
  • "transaction_id": "string"
}

Get merchant account balance

Returns available and commited balance of the merchant. Useful to track available funds for payout requests.

Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
query Parameters
merchant_entity_id
required
any

Merchant entity id

Responses

Response samples

Content type
application/json
{
  • "available_amount": 30523.44,
  • "commitment_amount": 199.99
}

Resend payout callback

Resends payout callback

Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
Request Body schema: application/json
external_id
required
string

Responses

Request samples

Content type
application/json
{
  • "external_id": "string"
}

Response samples

Content type
application/json
{
  • "code": "authorization_failed",
  • "message": "string",
  • "param": "string",
  • "payment_id": "string",
  • "type": "invalid_request_error",
  • "error_id": "string"
}

Cancel cash payout

Cancels cash payout

Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
Request Body schema: application/json
external_id
required
string

Responses

Request samples

Content type
application/json
{
  • "external_id": "string"
}

Response samples

Content type
application/json
{
  • "currency": "string",
  • "description": "string",
  • "external_id": "string",
  • "fc_id": 0,
  • "original_amount": 0,
  • "partner_key_id": "string",
  • "payer_account": {
    },
  • "payer_amount": 0,
  • "payer_outer_fee": 0,
  • "payment_type": "string",
  • "payout_type": "string",
  • "recipient_user": {
    },
  • "status": "init",
  • "status_code": "string",
  • "status_code_description": "string",
  • "transaction_id": "string"
}

payparts

Accept online pay-parts orders

Create payparts order

Creates order for payparts using one of the available methods. For now, only the direct mode is available.

Common response statuses:

  • Status: success Status Code: contract_was_signed_on_client_side - order was signed on client side, separate confirmation request needed
  • Status: success Status Code: transaction_successful - final success status. Order was confirmed automatically or bank has one stage confirmation
  • Status: pending Status Code: pending - wait for client signing
  • Status: failure Status Code: any - depends on error
Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
Request Body schema: application/json
auto_confirm_after_success
boolean
Default: false

If set to true, order confirmation will be done automatically after creation becomes successful (contract was signed on client side). If set to false, you should call the confirm endpoint manually to perform order confirmation after successful creation.

bank_name
required
string
mode
required
string (PayPartsPaymentMode)
Value: "direct"

Describes the way of the integration:

  • direct - requires customer's payment details in request. Usually returns url for second factor (3DS or other).
external_id
required
string
unified_external_id
string
amount
required
number >= 1
currency
required
string
parts_count
required
integer

Every bank supports different ranges of parts count. Check this values by using the Get banks info endpoint.

description
required
string

Order description can have from 1 to 256 characters.

payload
string
required
Array of objects (PayPartsProduct)
result_url
string <url>

Maximum length is about 2048 characters.

callback_url
string <url>
required
object (PayPartsCustomer)

Responses

Callbacks

Request samples

Content type
application/json
{
  • "auto_confirm_after_success": false,
  • "bank_name": "string",
  • "mode": "direct",
  • "external_id": "string",
  • "unified_external_id": "string",
  • "amount": 1,
  • "currency": "string",
  • "parts_count": 0,
  • "description": "string",
  • "payload": "string",
  • "products": [
    ],
  • "result_url": "string",
  • "callback_url": "string",
  • "customer": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "external_id": "string",
  • "unified_external_id": "string",
  • "is_success": true,
  • "details": {
    },
  • "action_required": true,
  • "action": {
    },
  • "receipt_url": "string"
}

Callback payload samples

Callback
POST: PayParts processing callback
Content type
application/json
{
  • "id": "string",
  • "external_id": "string",
  • "unified_external_id": "string",
  • "is_success": true,
  • "details": {
    },
  • "action_required": true,
  • "action": {
    },
  • "receipt_url": "string"
}

Confirm payparts order

Confirm payparts order

Common response statuses:

  • Status: success Status Code: transaction_successful - payparts order was successfully confirmed
  • Status: failure Status Code: any - depends on error
Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
Request Body schema: application/json
external_id
required
string
callback_url
string <url>
payload
string

Responses

Callbacks

Request samples

Content type
application/json
{
  • "external_id": "string",
  • "callback_url": "string",
  • "payload": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "external_id": "string",
  • "unified_external_id": "string",
  • "is_success": true,
  • "details": {
    },
  • "action_required": true,
  • "action": {
    },
  • "receipt_url": "string"
}

Callback payload samples

Callback
POST: PayParts processing callback
Content type
application/json
{
  • "id": "string",
  • "external_id": "string",
  • "unified_external_id": "string",
  • "is_success": true,
  • "details": {
    },
  • "action_required": true,
  • "action": {
    },
  • "receipt_url": "string"
}

Cancel payparts order

Cancel payparts order

Common response statuses:

  • Status: success Status Code: cancel_successful - payparts order was successfully canceled
  • Status: failure Status Code: any - depends on error
Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
Request Body schema: application/json
external_id
required
string
callback_url
string <url>
payload
string

Responses

Callbacks

Request samples

Content type
application/json
{
  • "external_id": "string",
  • "callback_url": "string",
  • "payload": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "external_id": "string",
  • "unified_external_id": "string",
  • "is_success": true,
  • "details": {
    },
  • "action_required": true,
  • "action": {
    },
  • "receipt_url": "string"
}

Callback payload samples

Callback
POST: PayParts processing callback
Content type
application/json
{
  • "id": "string",
  • "external_id": "string",
  • "unified_external_id": "string",
  • "is_success": true,
  • "details": {
    },
  • "action_required": true,
  • "action": {
    },
  • "receipt_url": "string"
}

Refund

Refund transaction after confirmation.

Common response statuses:

  • Status: success Status Code: refund_successful - payparts installment was successfully refunded
  • Status: pending Status Code: pending - wait for bank refund, final status will be set via callback
  • Status: failure Status Code: any - depends on error
Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
Request Body schema: application/json
external_id
required
string
amount
number >= 1
currency
string
callback_url
string <url>
payload
string

Responses

Callbacks

Request samples

Content type
application/json
{
  • "external_id": "string",
  • "amount": 1,
  • "currency": "string",
  • "callback_url": "string",
  • "payload": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "external_id": "string",
  • "unified_external_id": "string",
  • "is_success": true,
  • "details": {
    },
  • "action_required": true,
  • "action": {
    },
  • "receipt_url": "string"
}

Callback payload samples

Callback
POST: PayParts processing callback
Content type
application/json
{
  • "id": "string",
  • "external_id": "string",
  • "unified_external_id": "string",
  • "is_success": true,
  • "details": {
    },
  • "action_required": true,
  • "action": {
    },
  • "receipt_url": "string"
}

Operation info

Get operation info by external id and operation id

Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
query Parameters
external_id
required
any

External ID (unique identifier)

operation_id
required
any

Operation ID (unique identifier)

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "external_id": "string",
  • "unified_external_id": "string",
  • "is_success": true,
  • "details": {
    },
  • "action_required": true,
  • "action": {
    },
  • "receipt_url": "string"
}

Operations info

Get operations info by id

Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
query Parameters
external_id
required
any

External ID (unique identifier)

Responses

Response samples

Content type
application/json
{
  • "external_id": "string",
  • "unified_external_id": "string",
  • "amount": 0,
  • "amount_confirmed": 0,
  • "amount_canceled": 0,
  • "amount_refunded": 0,
  • "currency": "string",
  • "purchased": true,
  • "purchase_details": {
    },
  • "confirmed": true,
  • "confirmation_details": [
    ],
  • "refunded": true,
  • "refund_details": [
    ],
  • "canceled": true,
  • "cancellation_details": [
    ],
  • "receipt_url": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "action_required": true,
  • "action": {
    },
  • "customer": {
    }
}

Get banks info

Get banks info which includes bank name and available periods

Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
query Parameters
include_fees
any

Include fees

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Resend callback

Prepares the data about the specified payment of transaction and sends it into callback_url which was provided on the payment step. If the operation field is not provided the callback will be sent for the last operation.

Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
Request Body schema: application/json
external_id
required
string
operation
string (OperationType)
Enum: "payment" "confirm" "refund" "cancel"

Responses

Request samples

Content type
application/json
{
  • "external_id": "string",
  • "operation": "payment"
}

Response samples

Content type
application/json
{
  • "code": "authorization_failed",
  • "message": "string",
  • "param": "string",
  • "payment_id": "string",
  • "type": "invalid_request_error",
  • "error_id": "string"
}

alternative-payment

Accept online payments via alternative providers

Create alternative payment

Creates alternative payment

Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
Request Body schema: application/json
provider
required
string (AlternativePaymentProvider)
Enum: "imoje" "leaselink"

Available providers where the payment can be created.

external_id
required
string
unified_external_id
string
amount
required
number >= 1
currency
required
string

PLN value is required if customer.payment_method.type is blik, blik_paylater, leasing.

description
required
string

Order description can have from 1 to 256 characters.

payload
string
required
Array of objects (AlternativePaymentProduct)
result_url
string <url>

Maximum length is about 2048 characters.

callback_url
string <url>
required
object (AlternativePaymentCustomerDetails)

Responses

Request samples

Content type
application/json
{
  • "provider": "imoje",
  • "external_id": "string",
  • "unified_external_id": "string",
  • "amount": 1,
  • "currency": "string",
  • "description": "string",
  • "payload": "string",
  • "products": [
    ],
  • "result_url": "string",
  • "callback_url": "string",
  • "customer": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "external_id": "string",
  • "unified_external_id": "string",
  • "details": {
    }
}

Refund

Refund transaction after confirmation.

Common response statuses:

  • Status: success Status Code: refund_successful - alternative payment installment was successfully refunded
  • Status: pending Status Code: pending - wait for bank refund, final status will be set via callback
  • Status: failure Status Code: any - depends on error
Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
Request Body schema: application/json
external_id
required
string
amount
number >= 1
currency
string
callback_url
string <url>
payload
string

Responses

Callbacks

Request samples

Content type
application/json
{
  • "external_id": "string",
  • "amount": 1,
  • "currency": "string",
  • "callback_url": "string",
  • "payload": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "external_id": "string",
  • "unified_external_id": "string",
  • "details": {
    }
}

Callback payload samples

Callback
POST: PayParts processing callback
Content type
application/json
{
  • "id": "string",
  • "external_id": "string",
  • "unified_external_id": "string",
  • "is_success": true,
  • "details": {
    },
  • "action_required": true,
  • "action": {
    },
  • "receipt_url": "string"
}

Operation info

Get operation info by external id and operation id

Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
query Parameters
external_id
required
any

External ID (unique identifier)

operation_id
required
any

Operation ID (unique identifier)

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "external_id": "string",
  • "unified_external_id": "string",
  • "details": {
    }
}

Operations info

Get operations info by id

Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
query Parameters
external_id
required
any

External ID (unique identifier)

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "external_id": "string",
  • "unified_external_id": "string",
  • "amount": 0,
  • "amount_refunded": 0,
  • "purchased": true,
  • "purchase_details": [
    ],
  • "refunded": true,
  • "refund_details": [
    ],
  • "customer": {
    }
}

customers

Get information about your customers

Delete customer payment from wallet

Deletes customer payment method from wallet. Either X-CUSTOMER-AUTH header or external_id param is required.

Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
query Parameters
external_id
any

customer id in your platform

Request Body schema: application/json
option_id
required
string <uuid>

Card identifier in wallet

type
required
any
Value: "card"

Responses

Request samples

Content type
application/json
{
  • "option_id": "ab22e710-5ce4-4e7e-a3db-bd6fdad8fe36",
  • "type": "card"
}

Response samples

Content type
application/json
{
  • "delete": true,
  • "option_id": "ab22e710-5ce4-4e7e-a3db-bd6fdad8fe36",
  • "type": "cc_token"
}

Get customer information & wallet

Returns customer details including payment methods, if saved. Either X-CUSTOMER-AUTH header or external_id param is required.

Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
query Parameters
external_id
any

customer id in your platform

Responses

Response samples

Content type
application/json
{
  • "address": "string",
  • "city": "string",
  • "country": "string",
  • "email": "user@example.com",
  • "external_id": "string",
  • "first_name": "string",
  • "last_name": "string",
  • "patronym": "string",
  • "phone": "string",
  • "postal_code": "string",
  • "rid": "06367b17-91f0-49c2-b4f0-ec544c175798",
  • "wallet": [
    ]
}

Add customer payment to wallet

Adds new payment method to wallet. Either X-CUSTOMER-AUTH header or external_id param is required.

Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
query Parameters
external_id
any

customer id in your platform

Request Body schema: application/json
callback_url
string <url>

URL where callback will be sent in case of successful or unsuccessful card confirmation

Required for hosted mode.

required
object

Based on your choice in the type field, one of the fields becomes required too.

Required for direct mode.

result_url
string <url>

URL where user will be redirected from the checkout in case if mode set to hosted

make_default
boolean
Default: false

Automatically set new payment method as default in wallet, if it was confirmed.

mode
required
string (PaymentMode)
Enum: "direct" "hosted" "express_checkout"

Describes the way of the integration:

  • hosted - returns checkout page, where user can enter his payment details.
  • direct - requires customer's payment details in request. Usually returns url for second factor (3DS or other).
  • express_checkout - requires list of products in request. Returns checkout url.
object (BrowserFingerprint)

Responses

Callbacks

Request samples

Content type
application/json
{
  • "callback_url": "string",
  • "payment_method": {
    },
  • "result_url": "string",
  • "make_default": false,
  • "mode": "direct",
  • "fingerprint": {
    }
}

Response samples

Content type
application/json
{
  • "action": {
    },
  • "action_required": true,
  • "created_at": "2019-08-24T14:15:22Z",
  • "payment_method": {
    },
  • "status": "init",
  • "operation": "add_payment_method",
  • "customer": {
    }
}

Callback payload samples

Callback
POST: Status callback after 3ds action
Content type
application/json
{
  • "action": {
    },
  • "action_required": true,
  • "created_at": "2019-08-24T14:15:22Z",
  • "payment_method": {
    },
  • "status": "init",
  • "operation": "add_payment_method",
  • "customer": {
    }
}

Find customer wallet item

Returns customer wallet item. Either X-CUSTOMER-AUTH header or external_id param is required.

Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
query Parameters
external_id
any

customer id in your platform

option_id
any

option id of your payment

Responses

Response samples

Content type
application/json
{
  • "card": {
    },
  • "option_id": "ab22e710-5ce4-4e7e-a3db-bd6fdad8fe36",
  • "is_default": true,
  • "name": "string",
  • "type": "card"
}

Get confirmation status of the card in wallet

Returns confirmation status of the payment method is wallet. Either X-CUSTOMER-AUTH header or external_id param is required.

Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
query Parameters
external_id
any

customer id in your platform

option_id
any

id of the payment method in wallet

Responses

Response samples

Content type
application/json
{
  • "card": {
    },
  • "option_id": "ab22e710-5ce4-4e7e-a3db-bd6fdad8fe36",
  • "is_confirmed": true,
  • "type": "card",
  • "status": "init"
}

Set default card

Set default payment method in wallet. Either X-CUSTOMER-AUTH header or external_id param is required.

Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
query Parameters
external_id
any

customer id in your platform

Request Body schema: application/json
option_id
required
string <uuid>
type
required
string
Value: "card"

Responses

Request samples

Content type
application/json
{
  • "option_id": "ab22e710-5ce4-4e7e-a3db-bd6fdad8fe36",
  • "type": "card"
}

Response samples

Content type
application/json
{
  • "option_id": "ab22e710-5ce4-4e7e-a3db-bd6fdad8fe36",
  • "type": "card",
  • "success": true
}

subscriptions

Create and manage paid subscriptions

Get plans

Get all plans for the platform

Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
query Parameters
platform
required
any

Name of the platform to search

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create subscription plan

Create subscription plan

Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
Request Body schema: application/json
name
required
string
description
string
price
required
number <decimal>
currency
required
string
platforms
required
Array of strings
frequency_type
required
string
frequency
required
number
start_date
required
string
end_date
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "price": 0,
  • "currency": "string",
  • "platforms": [
    ],
  • "frequency_type": "string",
  • "frequency": 0,
  • "start_date": "string",
  • "end_date": "string"
}

Response samples

Content type
application/json
{
  • "created_at": "string",
  • "currency": "string",
  • "description": "string",
  • "end_date": "string",
  • "frequency": 0,
  • "frequency_type": "string",
  • "id": "string",
  • "state": "active",
  • "name": "string",
  • "platforms": [
    ],
  • "price": 0,
  • "start_date": "string",
  • "updated_at": "string"
}

Deactivate plan

Deactivate specific plan

Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
path Parameters
plan_id
required
any

Identifier of the plan

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Get plan

Get specific plan by id

Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
path Parameters
plan_id
required
any

Plan identifier

Responses

Response samples

Content type
application/json
{
  • "created_at": "string",
  • "currency": "string",
  • "description": "string",
  • "end_date": "string",
  • "frequency": 0,
  • "frequency_type": "string",
  • "id": "string",
  • "state": "active",
  • "name": "string",
  • "platforms": [
    ],
  • "price": 0,
  • "start_date": "string",
  • "updated_at": "string"
}

Update plan

Update specific plan by id

Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
path Parameters
plan_id
required
any

Identifier of the plan

Request Body schema: application/json
description
string
name
string

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Create subscription

Create subscription

Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
Request Body schema: application/json
auto_renew
boolean
callback_url
required
string
required
object (CustomerRequestUserDetails)
description
string
plan_id
required
string <uuid>
price
number <decimal>
result_url
required
string
start_date
required
string

Responses

Callbacks

Request samples

Content type
application/json
{
  • "auto_renew": true,
  • "callback_url": "string",
  • "customer": {
    },
  • "description": "string",
  • "plan_id": "00713021-9aea-41da-9a88-87760c08fa72",
  • "price": 0,
  • "result_url": "string",
  • "start_date": "string"
}

Response samples

Content type
application/json
{
  • "payment": {
    },
  • "subscription": {
    }
}

Callback payload samples

Callback
POST: Subscription callback
Content type
application/json
{
  • "type": "payment.processed",
  • "subscription": {
    },
  • "payment": {
    }
}

Get customer subscriptions

Get customer subscriptions

Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
header Parameters
X-CUSTOMER-AUTH
string

Authorize user by access token.

X-CUSTOMER-RID
string

Authorize user by RID. RID will be used if both are set.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Deactivate subscription

Deactivate specified subscription

Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
path Parameters
subscription_id
required
any

Subscription ID

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Get subscription

Retrieve subscription details

Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
path Parameters
subscription_id
required
any

Identifier of the subscription

Responses

Response samples

Content type
application/json
{
  • "auto_renew": true,
  • "callback_url": "string",
  • "created_at": "string",
  • "currency": "string",
  • "description": "string",
  • "due_date": "string",
  • "id": "string",
  • "next_notification_date": "string",
  • "next_payment_date": "string",
  • "plan_id": "string",
  • "price": 0,
  • "result_url": "string",
  • "start_date": "string",
  • "state": "init",
  • "updated_at": "string"
}

Update subscription

Update specific subscription by id

Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
path Parameters
subscription_id
required
any

Identifier of the subscription

Request Body schema: application/json
auto_renew
boolean

Responses

Request samples

Content type
application/json
{
  • "auto_renew": true
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Subscription payments

Returns all payments for the specified subscription.

Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
path Parameters
subscription_id
required
any

Subscription id

header Parameters
X-CUSTOMER-AUTH
string

Authorize user by access token.

X-CUSTOMER-RID
string

Authorize user by RID. RID will be used if both are set.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Cancel subscription

Cancel specified subscription

Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
path Parameters
subscription_id
required
any

Subscription ID

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

reports

Different reports based on your activity

Get payments report

Receive a report for a desired period with paid-out payments. You can both receive payments only for current login or for all possible sources within single business.

Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
Request Body schema: application/json
date_from
required
string <date>
date_to
required
string <date>
fields
Array of strings

By default, all available fields are returned. See response schema for available field names.

scope
string
Default: "current_login"
Enum: "current_login" "all_keys"

Regulate how many data you would like to receive.

Responses

Request samples

Content type
application/json
{
  • "date_from": "2019-08-24",
  • "date_to": "2019-08-24",
  • "fields": [
    ],
  • "scope": "current_login"
}

Response samples

Content type
application/json
{
  • "payments": [
    ]
}

merchants

Validate merchant keys

Validates merchant keys

Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)

Responses

Response samples

Content type
application/json
{
  • "status": "activated"
}

finmon

Finmon endpoints

Get finmon P2P limits

Fetches finmon P2P limits

Authorizations:
BasicAuth(BasicAuthcustomerAuth) (BasicAuthonBehalfOf) (BasicAuthonBehalfOfcustomerAuth)
query Parameters
recipient_ipn
any

IPN of recipient

Responses

Response samples

Content type
application/json
{
  • "recipient_ipn": 123456789,
  • "amount_left": 14999.99,
  • "total_count_left": 187,
  • "card_only_count_left": 23
}