Skip to main content

Methods

When processing requests, the validity of input parameters, the presence of required headers, and the permissions to perform actions are checked.

Transaction processing

recurrent/disable

Disabling a token

Use this request to disable a token. Pass the token in the request, in the response you will get is_active: false. This means the token has been disabled, you cannot perform recurring payments/payouts with this token any longer.

After the token is disabled, the finished_at expiration date parameter may show a date related to the year 2000. This has no effect and can be ignored.

Endpoint

/api/v1/recurrent/disable

Request parameters

NameMandatoryTypeDescription
recurrent+objectThe token to disable
Request example
curl -X POST \
https://proxy-demo.pikepayments.com/api/v1/recurrent/disable \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"recurrent": {
"token": "97417d4a9a23da9c2401c510a3fc45c2d1752f68ac9fd2a366698d70293b6427"
}
}'

Response parameters

NameMandatoryTypeDescription
status+stringStatus. Options: error, ok
recurrent+objectInformation about the token for recurring payments
error-objectError description
Successful response example
{
"recurrent": {
"token": "97417d4a9a23da9c2401c510a3fc45c2d1752f68ac9fd2a366698d70293b6427",
"created_at": "2020-07-14T13:17:11+03:00",
"finished_at": "2020-07-31T16:05:42+03:00",
"is_active": false,
"type": "recurrent_token"
},
"status": "ok"
}
Unsuccessful response example
{
"error": {
"code": "error code",
"description": "error description"
},
"status": "error"
}

session/cancel

Cancel session

You can send this request when Pike is ready to process a transaction—either a payout or a payment. For example, if you received a ready_to_confirm or ready_to_capture webhook.

If you do not want to proceed with the transaction, you can cancel it by sending a session/cancel request.

If everything is in order, send a request to confirm the transaction (session/confirm) or to capture the frozen amount (session/capture).

Endpoint

/api/v1/session/cancel

Request parameters

NameMandatoryTypeDescription
session_id+stringSession identifier
Request example
curl -X POST \
https://proxy-demo.pikepayments.com/api/v1/session/cancel \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_3230"
}'

Response parameters

NameMandatoryTypeDescription
status+stringStatus. Options: error, ok
session-objectPayment session
error-objectError description
Successful response example
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2024-05-27T02:03:00.000000Z",
"updated_at": "2024-05-27T02:03:00.000000Z",
"payments": [{
"id": "po_1313",
"status": "pending",
"created_at": "2024-05-27T02:03:00.000000Z",
"customer": {
"reference": "user123",
"contacts": [{
"email": "user@gmail.com"
}]
},
"payment_method": {
"type": "card",
"card": {
"last4": "4242",
"brand": "visa"
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"metadata": "good"
}]
}
}
Unsuccessful response example
{
"error": {
"code": "error code",
"description": "error description"
},
"status": "error"
}

session/capture

Debiting the amount put on hold

You can use this request if you process hold payments. Such payments occur in two stages: first, the funds are frozen (e.g., on the user's bank card), and then they are debited upon your command.

This request can be sent when Pike is ready to capture the funds and has sent you the ready_to_capture webhook.

If you want to capture the frozen amount, send a session/capture request. You can capture the full frozen amount or only a part of it.

To cancel the debit, send a session/cancel request.

Endpoint

/api/v1/session/capture

Request parameters

NameMandatoryTypeDescription
session_id+stringSession identifier
amount_details-objectAmount. It can be less than the frozen amount but must be greater than 0. If the parameter is missing, the full frozen amount will be captured
Request example
curl -X POST \
https://proxy-demo.pikepayments.com/api/v1/session/capture \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_3230"
}'

Response parameters

NameMandatoryTypeDescription
status+stringStatus. Options: error, ok
session-objectPayment session
error-objectError description
Successful response example
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2024-05-27T02:03:00.000000Z",
"updated_at": "2024-05-27T02:03:00.000000Z",
"acquiring_payments": [{
"id": "pm_1313",
"status": "succeeded",
"created_at": "2024-05-27T02:03:00.000000Z",
"finished_at": "2024-05-27T02:03:00.000000Z",
"customer": {
"reference": "lucky"
},
"payment_details": {
"type": "card",
"card": {
"brand": "visa",
"last4": "4242"
}
},
"amount_details": {
"amount": 10000,
"currency": "usd"
},
"refunds": [{
"id": "rf_23",
"status": "in_progress",
"created_at": "2024-05-27T02:03:00.000000Z",
"amount_details": {
"amount": 10000,
"currency": "usd"
}
}]
}]
}
}
Unsuccessful response example
{
"error": {
"code": "error code",
"description": "error description"
},
"status": "error"
}

session/confirm

Confirming an operation

You can send this request when Pike is ready to process a transaction—either a payout or a payment. For example, if you received the ready_to_confirm webhook.

You need to check the transaction parameters and make a decision. If everything is in order, confirm the transaction by sending session/confirm to Pike. If something is wrong, cancel the transaction by sending a session/cancel request.

Endpoint

/api/v1/session/confirm

Request parameters

NameMandatoryTypeDescription
session_id+stringSession identifier
Request example
curl -X POST \
https://proxy-demo.pikepayments.com/api/v1/session/confirm \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_3230"
}'

Response parameters

NameMandatoryTypeDescription
status+stringStatus. Options: error, ok
session-objectPayment session
error-objectError description
Successful response example
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2024-05-27T02:03:00.000000Z",
"updated_at": "2024-05-27T02:03:00.000000Z",
"payments": [{
"id": "po_1313",
"status": "pending",
"created_at": "2024-05-27T02:03:00.000000Z",
"customer": {
"reference": "user123",
"contacts": [{
"email": "user@gmail.com"
}]
},
"payment_method": {
"type": "card",
"card": {
"last4": "4242",
"brand": "visa"
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"metadata": "good"
}]
}
}
Unsuccessful response example
{
"error": {
"code": "error code",
"description": "error description"
},
"status": "error"
}

session/create

Creating a payment session

Send this request to create a payment session on Pike's side.

Payment operations can only be performed within a session. One or more operations of the same or different types can be performed within a session (e.g. several payouts, a payment and a refund, or a payment which is subsequently split).

Use this request if you need to request data necessary to perform a payout or a payment from the user. For example, call the tokenization widget, show it to the user and get tokenized card details, and then send the payout request with those details.

If you are ready to pass the payout/payment parameters right away, you can do so:
For payments, pass payment_details, amount_details, and customer.
For payouts, pass payment_method/payout_details and amount_details.

The response contains the parameters of a session created.

Endpoint

/api/v1/session/create

Request parameters

NameMandatoryTypeDescription
payment_method-objectPayout details
payment_details-objectPayment details
amount_details-objectAmount in the USD decimal format. To send 100 USD, specify 10000
participant_details-objectInformation on the sender and recipient
customer-objectRecipient's data in your system
payment_options-objectAdditional payment parameters
metadata-*Additional information. Any data you need in order to perform the operation. Returned in responses and webhooks
Request example
curl -X POST \
https://proxy-demo.pikepayments.com/api/v1/session/create \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"metadata": "order123"
}'

Response parameters

NameMandatoryTypeDescription
status+stringStatus. Options: error, ok
session-objectPayment session
error-objectError description
Successful response example
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "created",
"created_at": "2024-05-27T02:03:00.000000Z",
"updated_at": "2024-05-27T02:03:00.000000Z",
}
}
Unsuccessful response example
{
"error": {
"code": "invalid_request",
"description": "customer.reference.not_blank"
},
"status": "error"
}

session/init/payment

Simultaneously creating a payment session and starting a payment

Send this request to simultaneously create a payment session and start a payment.

The response contains the parameters of a session created and information on the payment (acquiring_payments/payment_list).

Endpoint

/api/v1/session/init/payment

Request parameters

NameMandatoryTypeDescription
payment_details+objectPayment data
amount_details+objectAmount in the USD decimal format. To send 100 USD, specify 10000
participant_details-objectInformation on the sender and recipient
customer+objectRecipient's data in your system
payment_options-objectAdditional payment parameters
metadata-*Any additional information. If the transaction is processed by a submerchant, please specify the payment site: "metadata" {"merchant": leave_it_blank,"submerchant": "https://website"}
Request example
curl -X POST \
https://proxy-demo.pikepayments.com/api/v1/session/init/payment \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"payment_details": {
"type": "card",
"card": {
"type": "bank_card",
"bank_card": {
"number": "4242424242424242",
"expiration_month": "05",
"expiration_year": "22",
"security_code": "123"
}
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"customer": {
"reference": "lucky"
},
"payment_options": {
"return_url": "https://pikepayments.com"
}
}'

Response parameters

NameMandatoryTypeDescription
status+stringStatus. Options: error, ok
session-objectPayment session
error-objectError description
Successful response example
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2024-05-27T02:03:00.000000Z",
"updated_at": "2024-05-27T02:03:00.000000Z",
"acquiring_payments": [{
"id": "pm_1313",
"status": "in_progress",
"created_at": "2024-05-27T02:03:00.000000Z",
"customer": {
"reference": "lucky"
},
"payment_details": {
"type": "card",
"card": {
"brand": "visa",
"last4": "4242"
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"payment_options": {
"return_url": "https://pikepayments.com"
}
}]
}
}
Unsuccessful response example
{
"error": {
"code": "invalid_request",
"description": "customer.reference.not_blank"
},
"status": "error"
}

session/init/payout

Simultaneously creating a payment session and starting a payout

You can use this request if you are ready to provide all the parameters for creating a payout to a bank account or bank card.

You can also initiate a payout using a token obtained during the creation of a recurring payment.

The response contains the parameters of a session created and information on the payout (payments/payout_list).

Endpoint

/api/v1/session/init/payout

Request parameters

NameMandatoryTypeDescription
payment_method+objectPayout data
amount_details+objectAmount. Transmitted in the USD decimal format. If you are sending 100 USD, you will need to specify 10000
participant_details-objectInformation on the sender and recipient
customer-objectRecipient's data in your system
metadata-*Any additional information. If the transaction is processed by a submerchant, please specify the payment site: "metadata" {"merchant": leave_it_blank,"submerchant": "https://website"}
Request example
curl -X POST \
https://proxy-demo.pikepayments.com/api/v1/session/init/payout \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"payment_method": {
"type": "card",
"card": {
"type": "bank_card",
"bank_card": {
"number": "4242424242424242"
}
}
},
"amount_details": {
"amount": 1000,
"currency": "rub"
},
"participant_details": {
"recipient": {
"full_name": "Ivanov Ivan"
}
}
}'

Response parameters

NameMandatoryTypeDescription
status+stringStatus. Options: error, ok
session-objectPayment session
error-objectError description
Successful response example
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2024-05-27T02:03:00.000000Z",
"updated_at": "2024-05-27T02:03:00.000000Z",
"payments": [{
"id": "po_1313",
"status": "in_progress",
"created_at": "2024-05-27T02:03:00.000000Z",
"customer": {
"reference": "user123",
"contacts": [{
"email": "user@gmail.com"
}]
},
"payment_method": {
"type": "card",
"card": {
"last4": "4242",
"brand": "visa"
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"metadata": "good"
}]
}
}
Unsuccessful response example
{
"error": {
"code": "error code",
"description": "error description"
},
"status": "error"
}

session/refund

Refund

Use this request to return money to the user after a successful payment.

After completing the refund, Pike will send you a payment_refunded.

Endpoint

/api/v1/session/refund

Request parameters

NameMandatoryTypeDescription
session_id+stringIdentifier of the session with the successful payment that needs to be refunded
amount_details-objectAmount of the refund. If not specified, the refund will be made for the full amount of the payment
metadata-*Additional information
Request example
curl -X POST \
https://proxy-demo.pikepayments.com/api/v1/session/refund \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id":"ps_3230"
}'

Response parameters

NameMandatoryTypeDescription
status+stringStatus. Options: error, ok
session-objectPayment session
error-objectError description
Successful response example
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2024-05-27T02:03:00.000000Z",
"updated_at": "2024-05-27T02:03:00.000000Z",
"acquiring_payments": [{
"id": "pm_1313",
"status": "succeeded",
"created_at": "2024-05-27T02:03:00.000000Z",
"finished_at": "2024-05-27T02:03:00.000000Z",
"customer": {
"reference": "lucky"
},
"payment_details": {
"type": "card",
"card": {
"brand": "visa",
"last4": "4242"
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"refunds": [{
"id": "rf_23",
"status": "in_progress",
"created_at": "2024-05-27T02:03:00.000000Z",
"amount_details": {
"amount": 10000,
"currency": "rub"
}
}]
}]
}
}
Unsuccessful response example
{
"error": {
"code": "error code",
"description": "error description"
},
"status": "error"
}

session/start/payment

Payment start

Send this request to start a payment within an existing session. In the parameters, pass the data necessary to perform a payment or change any pieces of data already passed.

Endpoint

/api/v1/session/start/payment

Request parameters

NameMandatoryTypeDescription
session_id+stringPayment session identifier
payment_details- (mandatory if not passed in session/create)objectPayment data
amount_details- (mandatory if not passed in session/create)objectAmount
customer- (mandatory if not passed in session/create)objectRecipient's data in your system
participant_details-objectInformation on the sender and recipient
payment_options-objectAdditional payment parameters
metadata-*Any additional information. If the transaction is processed by a submerchant, please specify the payment site: "metadata" {"merchant": leave_it_blank,"submerchant": "https://website"}
Request example
curl -X POST \
https://proxy-demo.pikepayments.com/api/v1/session/start/payment \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_3230",
"payment_details": {
"type": "card",
"card": {
"type": "bank_card",
"bank_card": {
"number": "4242424242424242",
"expiration_month": "01",
"expiration_year": "26",
"security_code": "123"
}
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"customer": {
"reference": "lucky"
},
"payment_options": {
"return_url": "https://pikepayments.com"
},
"metadata": "good"
}'

Response parameters

NameMandatoryTypeDescription
status+stringStatus. Options: error, ok
session-objectPayment session
error-objectError description
Successful response example
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2024-08-21T06:21:36.913863Z",
"updated_at": "2024-08-21T06:21:56.832509Z",
"acquiring_payments": [{
"id": "pm_3232",
"status": "in_progress",
"created_at": "2024-08-21T06:21:56.846204Z",
"customer": {
"reference": "lucky"
},
"payment_details": {
"type": "card",
"card": {
"last4": "4242",
"brand": "visa",
"country_iso3": "RUS"
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"payment_options": {
"return_url": "https://pikepayments.com"
},
"metadata": "good"
}]
}
}
Unsuccessful response example
{
"status": "error",
"error": {
"description": "internal error",
"code": "repository_record_not_found"
}
}

session/start/payout

Payout start

Send this request to start a payout within an existing session. In the parameters, pass the data necessary to perform a payout or change any pieces of data already passed.

If you use the payout widget to obtain tokenized user bank card data, you can pass them in this request.

Endpoint

/api/v1/session/start/payout

Request parameters

NameMandatoryTypeDescription
session_id+stringPayment session identifier
payment_method- (mandatory if not passed in session/create)objectPayout data (a card, bank account, etc.)
amount_details- (mandatory if not passed in session/create)objectAmount
participant_details-objectInformation on the sender and recipient
customer-objectRecipient's data in your system
metadata-*Any additional information. If the transaction is processed by a submerchant, please specify the payment site: "metadata" {"merchant": leave_it_blank,"submerchant": "https://website"}
Request example
curl -X POST \
https://proxy-demo.pikepayments.com/api/v1/session/start/payout \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_3230"
}'

Response parameters

NameMandatoryTypeDescription
status+stringStatus. Options: error, ok
session-objectPayment session
error-objectError description
Successful response example
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2024-05-27T02:03:00.000000Z",
"updated_at": "2024-05-27T02:03:00.000000Z",
"payments": [{
"id": "po_1313",
"status": "in_progress",
"created_at": "2024-05-27T02:03:00.000000Z",
"customer": {
"reference": "user123",
"contacts": [{
"email": "user@gmail.com"
}]
},
"payment_method": {
"type": "card",
"card": {
"last4": "4242",
"brand": "visa"
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"metadata": "good"
}]
}
}
Unsuccessful response example
{
"error": {
"code": "error code",
"description": "error description"
},
"status": "error"
}

token

Generating a public token

Use this method to generate a public token to access Pike's JavaScript library and to work with the widgets.

The token is valid for 24 hours. It can only be used for a single operation.

Endpoint

/api/v1/token

Request parameters

NameMandatoryTypeDescription
tokenize_widget-objectData required by the tokenization widget
acquiring_widget-objectData required by the payment form widget
fps_no_account_widget-objectData required by the payment form for money transfers
Request example

Request example for creating a token to process a payment via a payment form

curl -X POST \
https://proxy-demo.pikepayments.com/api/v1/token \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"acquiring_widget": {
"session_id": "ps_3230"
}
}'

Response parameters

NameMandatoryTypeDescription
status+stringStatus. Options: error, ok
public_token-stringPublic token
error-objectError description
Successful response example
{
"status": "ok",
"public_token": "e065c2f1328e74156a883c00e210a4b1b1451782bbfdd18ae8d05715e05d8539"
}
Unsuccessful response example
{
"status": "error",
"error": {
"description": "acquiring_widget.session_id.not_unique",
"code": "invalid_request"
}
}

tokenize/elements

A method for tokenizing a card number with tokenized data stored on Pike's side.

To use this method, please contact your manager at Pike.

Endpoint

/api/v1/tokenize/elements

Request parameters

NameMandatoryTypeDescription
card_elements+objectBank card data for tokenization
Request example
curl -X POST \
https://proxy-demo.pikepayments.com/api/v1/tokenize/elements \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"card_elements": [{
"ref": "number",
"type": "card_number",
"card_number": "4242424242424242"
}]
}'

Response parameters

NameMandatoryTypeDescription
status+stringStatus. Options: error, ok
data-objectInformation about the token and the tokenized card
error-objectError description
Successful response example
{
"status": "ok",
"data": {
"number": {
"token": "adb0eb0ac3f1f5f627f15aa8ca47b13483325ec42baab5e87cbff5f784dca919",
"info": {
"masked_card_number": "424242******4242",
"card_network": "visa",
"card_type": "visa"
}
}
}
}
Unsuccessful response example
{
"error": {
"code": "error code",
"description": "error description"
},
"status": "error"
}

Information

fps/banks

You can use this request to get a list of names and identifiers of the banks that are Faster Payment participants.

The method can be used for payouts only.

Endpoint

/api/v1/fps/banks

Request example
curl -X GET \
https://proxy-demo.pikepayments.com/api/v1/fps/banks \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{}'
Response example
{
"banks": [{
"id": "100000000243",
"eng_name": "National Standard Bank",
"ru_name": "Национальный стандарт"
},
{
"id": "100000000056",
"eng_name": "Khlynov",
"ru_name": "Хлынов"
},...]
}

fps/customer_verification

Use this request to check whether a recipient is registered in the Faster Payment system. If the user is found in the FPS, the session has a successful status, otherwise, the session gets canceled. This operation is free of charge and is confirmed automatically (ready_to_confirm is not sent).

Endpoint

/api/v1/fps/customer_verification

Request parameters

NameMandatoryTypeDescription
payment_method+objectPayout details
participant_details+objectInformation on the participants
Request example

curl -X POST \
https://proxy-demo.pikepayments.com/api/v1/fps/customer_verification \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"payment_method": {
"type": "bank_account",
"bank_account": {
"system_type": "faster_payment_system_verification",
"faster_payment_system_verification": {
"phone": "79261234567",
"bank_id": "100000000069"
}
}
},
"participant_details": {
"recipient": {
"first_name": "Иван",
"last_name": "Иванов",
"middle_name": "Иванович"
}
}
}'

Response parameters

NameMandatoryTypeDescription
status+stringStatus. Options: error, ok
session-objectPayment session
error-objectError description
Successful response example
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2022-03-01T11:57:31.652396Z",
"updated_at": "2022-03-01T11:57:31.861329Z",
"payments": [{
"id": "po_31668",
"status": "in_progress",
"created_at": "2022-03-01T11:57:31.895773Z",
"payment_method": {
"type": "bank_account",
"bank_account": {
"system_type": "faster_payment_system_verification",
"faster_payment_system_verification": {
"phone": "79261234567",
"bank_id": "100000000069"
}
}
},
"amount_details": {
"amount": 100,
"currency": "rub"
},
"participant_details": {
"recipient": {
"first_name": "Иван",
"last_name": "Иванов",
"middle_name": "Иванович"
}
}
}]
}
}
Unsuccessful response example
{
"error": {
"code": "error code",
"description": "error description"
},
"status": "error"
}

session/status

Getting full information on a payment session

Send this request if you want to get full information on a payment session. For example, you can check whether the payout was completed, or check if you are able to debit the amount put on hold during a card payment.

The response contains all the details on all the operations performed within the payment session.

Endpoint

/api/v1/session/status

Request parameters

NameMandatoryTypeDescription
session_id+stringPayment session identifier
Request example
curl -X POST \
https://proxy-demo.pikepayments.com/api/v1/session/status \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_3230"
}'

Response parameters

NameMandatoryTypeDescription
status+stringStatus. Options: error, ok
session-objectPayment session
error-objectError description
Successful response example
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2024-05-27T02:03:00.000000Z",
"updated_at": "2024-05-27T02:03:00.000000Z",
"next_action": "confirm",
"payments": [{
"id": "po_1313",
"status": "in_progress",
"created_at": "2024-05-27T02:03:00.000000Z",
"customer": {
"reference": "user123",
"contacts": [{
"email": "user@gmail.com"
}]
},
"payment_method": {
"type": "card",
"card": {
"last4": "4242",
"brand": "visa",
"bin":"444600"
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"transaction_info": {
"rrn": "425307614918",
"auth_code": "057441"
},
"metadata": "good"
}]
}
}
Unsuccessful response example
{
"error": {
"code": "error code",
"description": "error description"
},
"status": "error"
}

token/info

Getting token details

Bank card transactions are often processed using tokenized data. Public tokens are created for payouts and payments through widgets, while recurring payment tokens are used for recurring transactions.

You can retrieve information for any payment token, including:

  • Details about the bank card associated with the token—such as the masked card number and payment system.
  • Information about the token itself—its type, creation time, expiration date, and whether it is active at the time of the request.

Use this method to learn the hidden card number and show the user from which card the funds will be debited, or to check the token expiration date.

Endpoint

/api/v1/token/info

Request parameters

NameMandatoryTypeDescription
type+stringRequest type. Options: card, public_token, recurrent_token
card- (mandatory for type = card)objectBank card details
public_token- (mandatory for type = public_token)objectPublic token details
recurrent_token- (mandatory for type = recurrent_token)objectRecurring payment token details
Request examples

Send a public token to get information about it.

curl -X POST \
https://proxy-demo.pikepayments.com/api/v1/token/info \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"type": "card",
"card": {
"type": "encrypted_card",
"encrypted_card": {
"number_hash": "card_number_hash (token)"
}
}
}'

Response parameters

NameMandatoryTypeDescription
status+stringStatus. Options: error, ok
info-objectDepending on the request type (type):
- card token information
- public token information
- information on the token for recurring payments
error-objectError description
Successful response examples
{
"status": "ok",
"info": {
"number_hash": "card_number_hash",
"brand": "visa",
"last4": "4242",
"type": "card"
}
}
Unsuccessful response example
{
"error": {
"code": "error code",
"description": "error description"
},
"status": "error"
}

wallet/balance

If you have wallets used for payouts, use this request to check your current Pike deposit balance.

This is necessary in order to make sure there is enough money on the balance:

  • for payouts
  • for returns

If the amount is insufficient, you can top up your deposit.

The amount is returned in minor currency units. If the value is 10000, the amount is 100 rubles.

Endpoint

/api/v1/wallet/balance

Request parameters

NameMandatoryTypeDescription
request_datetime+stringTimestamp of the request in ISO 8601
Request example
curl -X POST \
https://proxy-demo.pikepayments.com/api/v1/wallet/balance \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"request_datetime": "2019-10-14T19:53:00+03:00"
}'

Response parameters

NameMandatoryTypeDescription
status+stringStatus. Possible values: error, ok
wallets-objectList of guarantee payment accounts available at Pike
error-objectError
Response examples
{
"status": "ok",
"wallets": [{
"id": "131",
"amount_details": {
"amount": 13100,
"currency": "rub"
}
}]
}

Additional

sberpay/push

Method to send PUSH/SMS notifications to customers for SberPay transactions.

Endpoint

/api/v1/sberpay/push

Request parameters

NameMandatoryTypeDescription
session_id+stringSession identifier
phone+stringPhone number to send PUSH or SMS
Request example
curl -X POST \
https://proxy-demo.pikepayments.com/api/v1/sberpay/push \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_3230",
"phone": "+79638594ххх"
}'

Response parameters

NameMandatoryTypeDescription
status+stringStatus. Options: error, ok
error-objectError description
Response example
{
"status": "ok"
}