PayIn
Create a payment from a customer
POST /host2host/payin
Creates a PayIn operation. The customer pays to the merchant.
Authentication
Authorization: Bearer YOUR_JWT_TOKENRequest Body
| Field | Type | Required | Description |
|---|---|---|---|
paymentMethod | string | Yes | Payment method code (see Payment Methods) |
idTransactionMerchant | string | Yes | Your unique transaction identifier |
amount | decimal | Yes | Payment amount in the operation currency |
clientID | string | Yes | Unique customer identifier in your system |
clientIP | string | Yes | Customer's IP address |
clientDateCreated | datetime | Yes | Customer registration date in your system |
integrationMerhcnatData | object | No | Webhook configuration |
integrationMerhcnatData.webHook | string | No | Webhook URL for this operation |
Example Request
curl -X POST 'https://api.admin-pixelwave.com/host2host/payin' \
-H 'Authorization: Bearer YOUR_JWT_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"paymentMethod": "toCard",
"idTransactionMerchant": "order-12345",
"amount": 5000,
"clientID": "user-67890",
"clientIP": "192.168.1.100",
"clientDateCreated": "2025-01-15T10:30:00Z"
}'Success Response
{
"result": {
"status": "success",
"x-request-id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"codeError": "none",
"codeErrorExt": "none",
"message": ""
},
"data": {
"id": "f1e2d3c4-b5a6-7890-abcd-ef1234567890",
"dateAdded": "2025-01-15T10:30:01Z",
"dateUpdated": "2025-01-15T10:30:01Z",
"typeOperation": "payIn",
"status": "in_progress",
"idTransactionMerchant": "order-12345",
"amountInitial": 5000,
"amountRandomized": 0,
"amount": 5000,
"amountComission": 150,
"currency": "RUB",
"amountInCurrencyBalance": 62.50,
"amountComissionInCurrencyBalance": 1.875,
"exchangeRate": 80.00,
"paymentDetailsData": {
"nameMediator": "Ivanov Ivan",
"paymentMethod": "toCard",
"bankName": "Sberbank",
"number": "4276 1234 5678 9012",
"numberAdditional": null,
"qRcode": null
}
},
"totalNumberRecords": 0
}Response Fields
| Field | Type | Description |
|---|---|---|
id | uuid | Platform operation ID. Store this for status lookups |
status | string | in_progress — waiting for payment |
idTransactionMerchant | string | Your transaction ID (echo) |
amountInitial | decimal | Original requested amount |
amountRandomized | decimal | Randomization adjustment (if any) |
amount | decimal | Final amount the customer should pay |
amountComission | decimal | Commission in operation currency |
currency | string | Operation currency |
amountInCurrencyBalance | decimal | Amount in your balance currency (USDT) |
exchangeRate | decimal | Exchange rate used |
paymentDetailsData.number | string | Card number, phone, or account to pay to |
paymentDetailsData.numberAdditional | string | Additional details (BIC, phone for SBP, etc.) |
paymentDetailsData.bankName | string | Bank name |
paymentDetailsData.nameMediator | string | Cardholder/recipient name |
paymentDetailsData.qRcode | string | QR code data (for NSPK method) |
AZN PayIn Example
curl -X POST 'https://api.admin-pixelwave.com/host2host/payin' \
-H 'Authorization: Bearer YOUR_JWT_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"paymentMethod": "azn_c2c",
"idTransactionMerchant": "order-azn-001",
"amount": 100,
"clientID": "user-67890",
"clientIP": "192.168.1.100",
"clientDateCreated": "2025-01-15T10:30:00Z"
}'Error Responses
| Error Code | Description |
|---|---|
invalidRequestParameters | Missing or invalid fields |
duplicateIdentifier | idTransactionMerchant already exists |
noSuitableTariffForRequest | No tariff for this method/amount |
noPaymentDetailsAvailable | No providers available |
fraud | Blocked by antifraud |
See Error Codes for details.
Important Notes
- The
amountin the response may differ from your request due to randomization. Always display the responseamountto the customer. - The operation status will be
in_progresson success. Final status comes via webhook. idTransactionMerchantmust be unique across all your operations.