- CloudPayments.
- - , .
- API , https://api.cloudpayments.ru
- , https://merchant.cloudpayments.ru
- Visa, MasterCard .
- .
- , .
- , .
- , .
- 3-D Secure .
: .
- . .
- , .
- , . , . , , -, 3- .
- , , .
- , : , .. . .
: , single message system (SMS) dual message system (DMS).
, .
: . , . 7 , , , . . , .
, , , .
, .
:
.
, , c.cloudpayments.ru/payments/ QR-, , -, - (, ..). . 5 . QR- .
3-D Secure
3-D Secure Verified By Visa Mastercard Secure Code Visa MasterCard. - . : , , . , -. , . .
[3ds-demo]
3-D Secure , , - . 3-D Secure .
e-mail . : Visa, MasterCard, Maestro "", - . . iframe, .
. : Check - , Pay -: . , .
head:
<script src="https://widget.cloudpayments.ru/bundles/cloudpayments.js"></script>
start:
public start(intentParams: CreateIntentCommand): Promise<WidgetResult>
, , :
$('#checkout').click(start);
-.
jquery:
document.querySelector('#checkout').onclick = start
const btn = document.getElementById("payButton")
const widget = new cp.CloudPayments();
const launchWidget = () => {
const intentParams = {
publicTerminalId: "test_api_00000000000000000000002", //
description: "Basket of oranges", //
paymentSchema: 'Dual', //
currency: "RUB", //
culture: "ru-RU",
amount: 1001, //
skin: "modern", // ()
autoClose: 3, // - ()
cryptogramMode: false, // . true -
externalId: "your_system_payment_identifier", //
restrictedPaymentMethods: [ //
'Sbp'
],
userInfo: {
accountId: "your_system_user_id",
firstName: "Test",
lastName: "Test",
middleName: "Test",
fullName: "Test Test Test",
birth: "2000-30-03",
address: ". 7",
street: ". ",
city: ". ",
country: "",
phone: "+71234567890",
postCode: "119518",
email: "user@email.com",
customField: {
name: "your_field_name",
value: "your_field_value"
}
},
payerServiceFee: 50, // ,
recurrent: {
period: 1, //
interval: 'Day', //
amount: 500, //
startDate: "2030-04-15T00:00:00.0000000Z", //
maxPeriods: 50, //
receipt: { //
items: [ //
{
label: ' 3', //
price: 300.00, //
quantity: 3.00, //
amount: 900.00, //
vat: 20, //
method: 0, // -1214 -
object: 0, // -1212 - , , , , ,
}
],
taxationSystem: 0, // ; ,
email: 'user@example.com', //e-mail ,
phone: '', // ,
isBso: false, //
amounts: {
electronic: 900.00, //
advancePayment: 0.00, // ( ) (2 )
credit: 0.00, // ( ) (2 )
provision: 0.00 // (, . .) (2 )
}
}
},
items: [{
id: "your_system_item_unique_identifier_1", // ( )
name: "Basket", //
count: 1, //
price: 100, //
// label?: string | null;
// quantity?: number | null;
},
{
id: "your_system_item_unique_identifier_2",
name: "Orange",
count: 9,
price: 100,
}
],
receipt: {
items: [ //
{
label: " 1", //
price: 100.00, //
quantity: 1.00, //
amount: 100.00, //
vat: 0, //
method: 0, // -1214 -
object: 0, // -1212 - , , , , ,
measurementUnit: "" //
}, {
label: " 2", //
price: 200.00, //
quantity: 2.00, //
amount: 300.00, // 25%
vat: 10, //
method: 0, // -1214 -
object: 0, // -1212 - , , , , ,
measurementUnit: "", //
excise: 0.01, // -1229
countryOriginCode: "156", // -1230 3 .
customsDeclarationNumber: "54180656/1345865/3435625/23", // -1231 32 .
ProductCodeData: //
{
CodeProductNomenclature: "3031303239303030303033343....a78495a4f6672754744773d3d" //HEX / ( )
}
}, {
label: " 3", //
price: 300.00, //
quantity: 3.00, //
amount: 900.00, //
vat: 20, //
method: 0, // -1214 -
object: 0, // -1212 - , , , , ,
measurementUnit: "", //
AgentSign: 6, // , 1057, 1222
AgentData: { // , 1223
AgentOperationName: null, // , 1044
PaymentAgentPhone: null, // , 1073
PaymentReceiverOperatorPhone: null, // , 1074
TransferOperatorPhone: null, // , 1075
TransferOperatorName: null, // , 1026
TransferOperatorAddress: null, // , 1005
TransferOperatorInn: null // , 1016
},
PurveyorData: { // , 1224
Phone: "+71234567890", // , 1171
Name: " ", // , 1225
Inn: "1234567890" // , 1226
}
}
],
calculationPlace: "www.my.ru", // ,
taxationSystem: 0, // ; ,
email: "user@example.com", //e-mail ,
phone: "", // ,
customerInfo: "", // -1227 - , , ( ), ()
customerInn: "7708806063", // -1228
isBso: false, //
AgentSign: null, // , 1057
amounts: {
electronic: 1300.00, //
advancePayment: 0.00, // ( ) (2 )
credit: 0.00, // ( ) (2 )
provision: 0.00 // (, . .) (2 )
}
},
metadata: {
referrerId: "some_referrer_123"
},
successRedirectUrl: "<https://example.com>",
failRedirectUrl: "<https://failexample.com>",
escrow: {
startAccumulation: true,
accumulationId: null,
escrowType: "OneToN"
},
retryPayment: false,
receiptEmail: "user@example.com",
tokenize: true,
emailBehavior: "Required",
};
widget.oncomplete = (result) => {
console.log(result);
}
widget.start(intentParams).then(function(widgetResult) {
console.log('result', widgetResult);
}).catch(function(error) {
console.log('error', error);
});
}
btn.addEventListener('click', launchWidget)
Payer Phone.
: , ( ), - .
: +71234567890
| publicTerminalId | string | ID | |
| amount | float | C . > 0 : 2; 2.5; 2.57 |
|
| currency | string enum |
(. ) | |
| culture | string | ( ru-RU) (. ) |
|
| description | string | ||
| externalId | string | . ( invoiceId) |
|
| paymentSchema | string enum |
( charge/auth):Single .Dual . |
|
| receiptEmail | string | Email . | |
| restrictedPaymentMethods | string[] enum |
C : Card, TcsInstallment, Sbp, TinkoffPay, MirPay, Dolyame, ForeignCard, SberPay |
|
| tokenize | bool | . | |
| recurrent | object | (. ) | |
| escrow | object | (. ) | |
| items | object[] | (. ) | |
| receipt | object | . CloudKassir. . c | |
| userInfo | object | (. ) | |
| metadata | object | JSON . ( data) |
|
| successRedirectUrl | string | ||
| failRedirectUrl | string | ||
| emailBehavior | string | Email :Required: .Hidden: .Optional: ., ( ) |
|
| retryPayment | bool | ( true)false, , |
|
| autoClose | int | . 3 10 | |
| skin | string[] enum |
: classic ( )modern: |
.
CloudPayments: . recurrent:
| period | int | . 0 | |
| interval | string enum |
. :Week (),Month (),Day () |
|
| maxPeriods | int | . , , 0 | |
| amount | decimal | . . . , , 0 | |
| startDate | dateTime | . . , | |
| receipt | string | - |
.
| startAccumulation | bool | ||
| accumulationId | string | ID | |
| escrowType | String | . : NToOne, OneToN, NToN |
.
userInfo:
| firstName | string | ||
| lastName | string | ||
| middleName | string | ||
| fullName | string | ||
| birth | string | ||
| address | string | ||
| street | string | ||
| city | string | ||
| country | string | ||
| phone | string | ||
| postCode | string | ||
| accountId | string | ( ). 255 | |
| string | |||
| customField | object | ||
| customField.name | string | ||
| customField.value | string |
.
, (, ) items:
| id | string | ID | |
| name | string | ||
| count | int | ||
| price | decimal |
, , . id, id, .
()
, . ():
oncomplete
, ,
widgetResult
function(widgetResult)
. widgetResult
type:
cancel
payment
installment
error
status:
success
fail
appointment
reject
cancel
(type = cancel):
{
"type": "cancel"
}
(status = success):
{
"type":"payment",
"data":{
"transactionId":3059300327
},
"status":"success"
}
(status = fail):
{
"type":"error",
"data":{
"transactionId":3192600857,
"ReasonCode":5206
},
"message":"3-D Secure ",
"status":"fail"
}
PaymentBlocks , .
. iframe, .
CloudPayments
. : Check - , Pay -| . | ||
| 2 : modern , classic |
||
| unmount | blocksApp.unmount() |
head:
<script src="https://widget.cloudpayments.ru/bundles/paymentblocks.js"></script>
DOM-
<div id="element"></div>
( )
var blocksApp = new cp.PaymentBlocks(
initializationParams, // --
customizationParams // --
);
DOM-
blocksApp.mount(document.getElementById("element"));
DOM
DOM-
blocksApp.unmount();
()
,
( )
blocksApp.on("destroy", () => { //
console.log("destroy");
});
blocksApp.on("success", (result) => { //
console.log("success", result);
});
blocksApp.on("fail", (result) => { //
console.log("fail", result);
});
| result | |||
|---|---|---|---|
| destroy | unmount() | blocksApp.on("destroy", () => { console.log("destroy"); }); |
|
| success | blocksApp.on("success", (result) => { console.log("success", result); }); |
{ "type": "payment", "data": { "transactionId": 4581868029 }, "status": "success" } |
|
| fail | blocksApp.on("fail", (result) => { console.log("fail", result); }); |
{ "type": "payment", "data": { "transactionId": 4581867878, "ReasonCode": 5206 }, "message": "3-D Secure ", "status": "fail" } |
//
blocksApp.off("success");
//
blocksApp.off("fail");
//
blocksApp.off("destroy");
PaymentBlocks
PaymentBlocks
var blocksApp = new cp.PaymentBlocks(
{ // initializationParams -- ( )
"publicTerminalId":"test_api_00000000000000000000002",
"paymentSchema":"Dual",
"description":" ",
"amount":100.53,
"currency":"RUB",
"externalId":"123",
"accountId":"123",
"receiptEmail":"",
"emailBehavior":"Optional",
"language":"ru-RU"
},
{ // customizationParams -- ( )
"appearance":{
"colors":{
"primaryButtonColor":"#1dfa05",
"primaryHoverButtonColor":"#da1ef7",
"primaryButtonTextColor":"#da1ef7",
"primaryButtonHoverTextColor":"#da1ef7",
"activeInputColor":"#da1ef7",
"inputBackground":"#da1ef7",
"inputColor":"#1dfa05",
"inputBorderColor":"#f20505",
"titleColor":"#da1ef7",
"textColor":"#1dfa05",
"errorColor":"#ee05fa",
"skeletonBackground":"#ee05fa"
},
"borders":{
"radius":"80px"
}
},
"components":{
"paymentButton":{
"text":" ",
"fontSize":"40px"
},
"paymentForm":{
"labelFontSize":"5px",
"activeLabelFontSize":"50px",
"fontSize":"90px"
}
}
});
.
.
{
"components":{
"paymentButton":{
"text":" ",
"fontSize":"40px"
},
"paymentForm":{
"labelFontSize":"5px",
"activeLabelFontSize":"50px",
"fontSize":"90px"
}
},
"appearance":{
"colors":{
"primaryButtonColor":"#1dfa05",
"primaryHoverButtonColor":"#da1ef7",
"primaryButtonTextColor":"#da1ef7",
"primaryButtonHoverTextColor":"#da1ef7",
"activeInputColor":"#da1ef7",
"inputBackground":"#da1ef7",
"inputColor":"#1dfa05",
"inputBorderColor":"#f20505",
"titleColor":"#da1ef7",
"textColor":"#1dfa05",
"errorColor":"#ee05fa",
"skeletonBackground":"#ee05fa"
},
"borders":{
"radius":"80px"
}
}
}
| 2 | components | object | ||
| 3 | .paymentButton | object | ||
| 4 | ..text | string | ||
| 4 | ..fontSize | string | ||
| 3 | .paymentForm | object | ||
| 4 | ..labelFontSize | string | ( ) | |
| 4 | ..activeLabelFontSize | string | ||
| 4 | ..fontSize | string | ||
| 2 | appearance | object | - | |
| 3 | .colors | object | ||
| 4 | ..primaryButtonColor | string | ||
| 4 | ..primaryButtonTextColor | string | ||
| 4 | ..primaryHoverButtonColor | string | ||
| 4 | ..primaryButtonHoverTextColor | string | ||
| 4 | ..activeInputColor | string | ||
| 4 | ..inputBackground | string | ||
| 4 | ..inputColor | string | ||
| 4 | ..inputBorderColor | string | ||
| 4 | ..errorColor | string | ||
| 4 | ..skeletonBackground | string | ||
| 4 | ..titleColor | string | ||
| 4 | ..textColor | string | ||
| 3 | .borders | object | ||
| 4 | ..radius | string |
update, ( ), .
. ,
blocksApp.update(initializationParams);
checkout
Checkout , , API.
RSA 2048 . , .
Demo checkout
:
- HTTPS- SSL-.
- "name" .
- 16 19 .
:
- checkout, .
- .
PCI DSS:
PCI DSS, "E-commerce merchants who outsource all payment processing to PCI DSS validated third parties, and who have a website(s) that doesnt directly receive cardholder data but that can impact the security of the payment transaction. No electronic storage, processing, or transmission of any cardholder data on the merchants systems or premises.", , .
, SAQ-EP ASV-.
PCI PCI DSS.
checkout:
<script src="https://checkout.cloudpayments.ru/checkout.js"></script>
:
API.
1) checkout
const checkout = new cp.Checkout({
publicId: 'test_api_000000000000000002',
});
2) ,
const fieldValues = {
cvv: '911',
cardNumber: '4242 4242 4242 4242',
expDateMonth: '12',
expDateYear: '24',
}
checkout.createPaymentCryptogram(fieldValues)
.then((cryptogram) => {
console.log(cryptogram);
}).catch((errors) => {
console.log(errors)
});
:
1) :
<form id="paymentFormSample" autocomplete="off">
<input type="text" data-cp="cardNumber">
<input type="text" data-cp="expDateMonth">
<input type="text" data-cp="expDateYear">
<input type="text" data-cp="cvv">
<input type="text" data-cp="name">
<button type="submit"> 100 .</button>
</form>
:
- data-cp="cardNumber" ;
- data-cp="expDateMonth" ;
- data-cp="expDateYear" ;
- data-cp="cvv" CVV;
- data-cp="name" .
2) checkout
const checkout = new cp.Checkout({
publicId: 'test_api_000000000000000002',
container: document.getElementById("paymentFormSample")
});
3)
checkout.createPaymentCryptogram()
.then((cryptogram) => {
console.log(cryptogram); //
}).catch((errors) => {
console.log(errors)
});
:
.
- . .
async createPaymentCryptogram(fieldValues: CardData): Promise<string>
const checkout = new cp.Checkout({
publicId: 'test_api_000000000000000002'
});
const fieldValues = {
cvv: '911',
cardNumber: '4242 4242 4242 4242',
expDateMonth: '12',
expDateYear: '24',
}
checkout.createPaymentCryptogram(fieldValues)
.then((cryptogram) => {
console.log(cryptogram);
});
CardData:
export interface CardData {
cvv?: string; // CVV/CVC
cardNumber?: string; // ,
expDateMonth?: string; // -
expDateYear?: string; // c -
expDateMonthYear?: string; // , ,
// 2,3 5 , .
// 4 6 , .
}
| * | |||
|---|---|---|---|
| cvv | CVV/CVC | string | * |
| cardNumber | , | string | , |
| expDateMonth | - | string | , expDateMonthYear |
| expDateYear | c - | string | , expDateMonth expDateYear |
| expDateMonthYear | , . 2, 3 5 , . 4 6 , . | string | , expDateMonth expDateYear |
| name | string |
:
const fieldValues = {
cvv: '91', // CVV
cardNumber: '4242 4242 4242 424', //
expDateMonth: '12',
expDateYear: '24',
}
checkout.createPaymentCryptogram(fieldValues)
.then((cryptogram) => {
console.log(cryptogram);
})
.catch((errors) => {
console.log(errors);
/*
{
cardNumber: "CardNumber_Invalid",
cvv: "Cvv_Invalid"
}
*/
});
| CardNumber_Empty | |
| CardNumber_Invalid | |
| Cvv_Empty | CVV |
| Cvv_Invalid | CVV |
| ExpDateMonthYear_Empty | |
| ExpDateMonthYear_Invalid | |
| ExpDateMonth_Empty | |
| ExpDateMonth_Invalid | |
| ExpDateYear_Empty | |
| ExpDateYear_Invalid | |
| Name_Empty | * |
| Name_Invalid | * |
| Name_TooLong | * |
| Name_TooShort | * |
- createPaymentCryptogram, , .
createCryptogramPacket(fieldValues: CardData):string|object - .
HTML-. CardData .
C :
this.createCryptogram = function () {
var result = checkout.createCryptogramPacket();
if (result.success) {
//
alert(result.packet);
}
else {
// , `result.messages` :
// { name: " ", cardNumber: " " }
// `name`, `cardNumber` `<input ... data-cp="cardNumber">`
for (var msgName in result.messages) {
alert(result.messages[msgName]);
}
}
};
$(function () {
/* checkout */
checkout = new cp.Checkout(
// public id
"test_api_00000000000000000000001",
// ,
document.getElementById("paymentFormSample"));
});
, .
, , . .
, , , . . , . , CloudPayments .
: , . - , .
: .
API .
, :
- ;
- API.
2 , 1 , 3 : .
, .
: , 15- .
. .
: 12 000 1000 1000 , 11 .
API.
: , .
.
: , 1 . , , .
API.
: 2 , .
, , : .
, , - . , .
, : , , - .
- .
, , , , .
, - .
. , , .
. , . CloudPayments , .
" " . , , - , , , , . , CloudPayments , (, , ), .
:
- , .
- , .
- , , . .
- / .
- / .
- , / .
Widget - e-mail .
Checkout - , , API.
AccumulationId - , .
TransactionId - .
:
" " .
2 , , , . , , ., CloudPayments, . .
C
- (N:1)
- (1:N)
N:1
Widget:
, cp.constant.escrow. :
;
.
{
NToOne: 0, // N:1
OneToN: 1 // 1:N
}
, , N:1.
:
cp.constant.escrow.NToOne // = 0
cp.constant.escrow.OneToN // = 1
( )
var widget = new cp.CloudPayments();
const intentParams = {
publicTerminalId: "test_api_00000000000000000000002",
paymentSchema: 'Dual',
description: " ...",
amount: 100,
currency: "RUB",
culture: "ru-RU",
skin: "classic",
externalId: 'string',
receiptEmail: "user@email.com",
userInfo: {
email: "user@email.com",
phone: "+71234567890",
},
metadata: {
myProp: "myProp value",
},
escrow: {
startAccumulation: true,
accumulationId: null,
escrowType: "NToOne"
},
};
widget.oncomplete = (result) => {
console.log(result);
}
widget.start(intentParams).then(function(widgetResult) {
console.log('result', widgetResult); //
}).catch(function(error) {
console.log('error', error); //
});
, Pay EscrowAccumulationId.
, , EscrowAccumulationId , Check .
( )
(), , accumulationId, startAccumulation, escrowType escrow.
:
Escrow:{
startAccumulation: false,
escrowType: cp.constant.escrow.NToOne,
accumulationId: "4733183a-c6f6-4c1b-8ff1-fb7c43ed1695" // - .
}
API Checkout:
( )
payments/cards/charge ( auth), escrow "StartAccumulation": true "EscrowType":0 "EscrowType": NToOne" . EscrowType (0/1), (NToOne/OneToN).
"Escrow":{
"StartAccumulation":true,
"EscrowType": "NToOne"
}
EscrowAccumulationId.
{
"Model": {
"ReasonCode": 0,
"PublicId": "pk_71efb26a18397ec61b755221123cc",
"TerminalUrl": "https://example.com",
"TransactionId": 10649404,
"Amount": 215,
"Currency": "RUB",
"CurrencyCode": 0,
"PaymentAmount": 215,
"PaymentCurrency": "RUB",
"PaymentCurrencyCode": 0,
"InvoiceId": null,
"AccountId": null,
"Email": null,
"Description": null,
"JsonData": "{\"Phone\": \"+71234567890\" }",
"CreatedDate": "/Date(1640787010601)/",
"PayoutDate": null,
"PayoutDateIso": null,
"PayoutAmount": null,
"CreatedDateIso": "2021-12-29T14:10:10",
"AuthDate": "/Date(1640787010877)/",
"AuthDateIso": "2021-12-29T14:10:10",
"ConfirmDate": null,
"ConfirmDateIso": null,
"AuthCode": "A1B2C3",
"TestMode": true,
"Rrn": null,
"OriginalTransactionId": null,
"FallBackScenarioDeclinedTransactionId": null,
"IpAddress": "127.0.0.1",
"IpCountry": "RU",
"IpCity": "",
"IpRegion": " ",
"IpDistrict": " ",
"IpLatitude": 1.03923,
"IpLongitude": 1.927818,
"CardFirstSix": "411111",
"CardLastFour": "1111",
"CardExpDate": "11/23",
"CardType": "Visa",
"CardProduct": "C",
"CardCategory": "Visa Signature (Signature)",
"EscrowAccumulationId": "365b6942-94e8-4c5b-aff5-392dc1a51c28",
"IssuerBankCountry": "RU",
"Issuer": "CloudPayments",
"CardTypeCode": 0,
"Status": "Authorized",
"StatusCode": 2,
"CultureName": "ru",
"Reason": "Approved",
"CardHolderMessage": " ",
"Type": 0,
"Refunded": false,
"Name": null,
"Token": null,
"SubscriptionId": null,
"GatewayName": "Test",
"AndroidPay": false,
"WalletType": "",
"TotalFee": 0
},
"Success": true,
"Message": null
}
, Pay EscrowAccumulationId.
, , EscrowAccumulationId , Check .
( )
(), , payments/cards/charge AccumulationId Escrow "StartAccumulation": false "EscrowType":0 "EscrowType": NToOne":
"Escrow":{
"StartAccumulation":false,
"EscrowType": "NToOne",
"AccumulationId": "365b6942-94e8-4c5b-aff5-392dc1a51c28",
}
:
{
"Model": {
"ReasonCode": 0,
"PublicId": "pk_71efb26a18397ec61b755221123cc",
"TerminalUrl": "https://example.com",
"TransactionId": 10649405,
"Amount": 215,
"Currency": "RUB",
"CurrencyCode": 0,
"PaymentAmount": 215,
"PaymentCurrency": "RUB",
"PaymentCurrencyCode": 0,
"InvoiceId": null,
"AccountId": null,
"Email": null,
"Description": null,
"JsonData": "{\"Phone\": \"+71234567890\"}",
"CreatedDate": "/Date(1640787317880)/",
"PayoutDate": null,
"PayoutDateIso": null,
"PayoutAmount": null,
"CreatedDateIso": "2021-12-29T14:15:17",
"AuthDate": "/Date(1640787319410)/",
"AuthDateIso": "2021-12-29T14:15:19",
"ConfirmDate": null,
"ConfirmDateIso": null,
"AuthCode": "A1B2C3",
"TestMode": true,
"Rrn": null,
"OriginalTransactionId": null,
"FallBackScenarioDeclinedTransactionId": null,
"IpAddress": "127.0.0.1",
"IpCountry": "RU",
"IpCity": "",
"IpRegion": " ",
"IpDistrict": " ",
"IpLatitude": 1.03923,
"IpLongitude": 1.927818,
"CardFirstSix": "411111",
"CardLastFour": "1111",
"CardExpDate": "11/23",
"CardType": "Visa",
"CardProduct": "C",
"CardCategory": "Visa Signature (Signature)",
"EscrowAccumulationId": "365b6942-94e8-4c5b-aff5-392dc1a51c28",
"IssuerBankCountry": "RU",
"Issuer": "CloudPayments",
"CardTypeCode": 0,
"Status": "Authorized",
"StatusCode": 2,
"CultureName": "ru",
"Reason": "Approved",
"CardHolderMessage": " ",
"Type": 0,
"Refunded": false,
"Name": null,
"Token": null,
"SubscriptionId": null,
"GatewayName": "Test",
"AndroidPay": false,
"WalletType": "",
"TotalFee": 0
},
"Success": true,
"Message": null
}
payments/token/topup AccumulationId :
"Escrow": {
"AccumulationId": "365b6942-94e8-4c5b-aff5-392dc1a51c28",
"TransactionIds": [10649405, 10649404],
"EscrowType": "NToOne"
}
, AccumulationId. TransactionId, TransactionIds payments/token/topup. , , .. . .. , .
, ., .
, / ( ).
AccumulationId, - .
:
- AccumulationId
-
- ""
- Payment
- Completed
1:N
Widget:
, cp.constant.escrow. :
1. ;
2. .
{
NToOne: 0,
OneToN: 1
}
:
cp.constant.escrow.NToOne // = 0
cp.constant.escrow.OneToN // = 1
var widget = new cp.CloudPayments();
const intentParams = {
publicTerminalId: "test_api_00000000000000000000002",
paymentSchema: 'Dual',
description: " ...",
amount: 100,
currency: "RUB",
culture: "ru-RU",
skin: "classic",
externalId: 'string',
receiptEmail: "user@email.com",
userInfo: {
email: "user@email.com",
phone: "+71234567890",
},
metadata: {
myProp: "myProp value",
},
escrow: {
startAccumulation: true,
accumulationId: null,
escrowType: "OneToN"
},
};
widget.oncomplete = (result) => {
console.log(result);
}
widget.start(intentParams).then(function(widgetResult) {
console.log('result', widgetResult); //
}).catch(function(error) {
console.log('error', error); //
});
, Pay EscrowAccumulationId.
, , EscrowAccumulationId , Check .
API Checkout:
payments/cards/charge ( auth), escrow "StartAccumulation": true "EscrowType":1 "EscrowType": "OneToN" . EscrowType (0/1), (NToOne/OneToN).
"Escrow":{
"StartAccumulation":true,
"EscrowType": "OneToN"
}
EscrowAccumulationId.
{
"Model": {
"ReasonCode": 0,
"PublicId": "pk_71efb26a18397ec61b755221123cc",
"TerminalUrl": "https://example.com",
"TransactionId": 10649404,
"Amount": 215,
"Currency": "RUB",
"CurrencyCode": 0,
"PaymentAmount": 215,
"PaymentCurrency": "RUB",
"PaymentCurrencyCode": 0,
"InvoiceId": null,
"AccountId": null,
"Email": null,
"Description": null,
"JsonData": "{\"Phone\": \"+71234567890\"}",
"CreatedDate": "/Date(1640787010601)/",
"PayoutDate": null,
"PayoutDateIso": null,
"PayoutAmount": null,
"CreatedDateIso": "2021-12-29T14:10:10",
"AuthDate": "/Date(1640787010877)/",
"AuthDateIso": "2021-12-29T14:10:10",
"ConfirmDate": null,
"ConfirmDateIso": null,
"AuthCode": "A1B2C3",
"TestMode": true,
"Rrn": null,
"OriginalTransactionId": null,
"FallBackScenarioDeclinedTransactionId": null,
"IpAddress": "127.0.0.1",
"IpCountry": "RU",
"IpCity": "",
"IpRegion": " ",
"IpDistrict": " ",
"IpLatitude": 1.03923,
"IpLongitude": 1.927818,
"CardFirstSix": "411111",
"CardLastFour": "1111",
"CardExpDate": "11/23",
"CardType": "Visa",
"CardProduct": "C",
"CardCategory": "Visa Signature (Signature)",
"EscrowAccumulationId": "365b6942-94e8-4c5b-aff5-392dc1a51c28",
"IssuerBankCountry": "RU",
"Issuer": "CloudPayments",
"CardTypeCode": 0,
"Status": "Authorized",
"StatusCode": 2,
"CultureName": "ru",
"Reason": "Approved",
"CardHolderMessage": " ",
"Type": 0,
"Refunded": false,
"Name": null,
"Token": null,
"SubscriptionId": null,
"GatewayName": "Test",
"AndroidPay": false,
"WalletType": "",
"TotalFee": 0
},
"Success": true,
"Message": null
}
, Pay EscrowAccumulationId.
, , EscrowAccumulationId , Check .
payments/token/topup AccumulationId ( transactionId, ):
"Escrow": {
"AccumulationId": "365b6942-94e8-4c5b-aff5-392dc1a51c28",
"TransactionIds": [10649404],
"EscrowType": "OneToN"
}
2 :
- Escrow "FinalPayout": true ( , );
"Escrow": {
"AccumulationId": "365b6942-94e8-4c5b-aff5-392dc1a51c28",
"TransactionIds": [10649404],
"EscrowType": "OneToN",
"FinalPayout": true
}
- , .
TransactionId, TransactionIds ( 1:N ID ) payments/token/topup.
, .
/ ( ).
:
-
AccumulationId; - "";
- Completed;
- (OneToN);
- ( finalPayout: true, )
AccumulationId
http- Basic Auth. - public key (pk) . , . - api secret Pk.
pk api secret . accumaltionIDs, .(N:1 1:N)
EscrowAccumulationId, :
- ,
- id
- ( )
-
- id
- , ( )
- id
- ( )
-
- id
-
- id
- ( )
-
- id
- ( 1:N)
- id
- ( )
-
- IsFinalPayout
- id
- (Balance)
- Balance = PaymentsSum - RefundsSum - PayoutsSum
:
https://api.cloudpayments.ru/Escrow/GetEscrowInfo
:
{
"EscrowAccumulationIds" : ["7de3281f-4339-4e2e-9df9-06dcfbcdceac"]
}
:
{
"Model": [
{
"Status": "Closed",
"PaidoutTransactions": [
{
"Id": 608632,
"Status": "Completed",
"Amount": 1500.0
},
{
"Id": 608631,
"Status": "Completed",
"Amount": 901.0
}
],
"NotPaidoutTransactions": [
{
"Id": 608632,
"Status": "Completed",
"Amount": 1500.0
},
{
"Id": 608634,
"Status": "Completed",
"Amount": 901.0
}
],
"PayoutTransactions": [
{
"Id": 608635,
"Status": "Completed",
"Amount": 1500.0,
"IsFinalPayout": true
},
{
"Id": 608636,
"Status": "Completed",
"Amount": 901.0,
"IsFinalPayout": false
}
],
"RefundedTransactions": null,
"EscrowAccumulationId": "2533b003-da5d-463f-af85-fe6621354cd6",
"Balance": 0.0
}
],
"Success": true,
"Message": null
}
Status :
- Open
- Closed
SDK iOS
SDK iOS.
GitHub.
, , 3-D Secure iPhone iPad.
:
SDK Android
SDK Android.
Github.
, , , 3-D Secure Android.
:
- , PCI DSS, , CloudPayments, ;
- , card.io. CVV ;
- SDK (mPos). , ;
- Google Play , .
API
API .
api.cloudpayments.ru , , , , , , .
- POST = JSON.
- API 150 000 . - API 5 .
- API , , .
- API 5, 30. - API HTTP 429 (Too many Requests) . - .
- = Content-Type: application/x-www-form-urlencoded;
- JSON Content-Type: application/json;
JSON-, : Success Message:
{ "Success": false, "Message": "Invalid Amount value" }
HTTP Basic Auth HTTP-. Public ID, API Secret. .
, HTTP- 401 Unauthorized. API secret . .API
API , . , , , . , .
API X-Request-ID, . guid, , .
, , X-Request-ID. 1 .
API .
:
https://api.cloudpayments.ru/test
:
.
:
.
{"Success":true,"Message":"bd6353c3-0ed6-4a65-946f-083664bf8dbd"}
, , (MCC 4814 Telecommunication Services), . , - .
Payer Phone.
: , ( ), - .
: +71234567890
. Checkout.
:
https://api.cloudpayments.ru/payments/cards/charge
https://api.cloudpayments.ru/payments/cards/auth
:
| Amount | Number | C , . 2 | |
| Currency | String | : RUB/USD/EUR/GBP (. ). , RUB | |
| IpAddress | String | IP- | |
| CardCryptogramPacket | String | ||
| Name | String | ||
| PaymentUrl | String | , checkout | |
| InvoiceId | String | ||
| Description | String | ||
| CultureName | String | . : "ru-RU", "en-US". (. ) | |
| AccountId | String | ||
| String | E-mail , | ||
| Payer | Object | . , . : FirstName, LastName, MiddleName, Birth, Street, Address, City, Country, Phone, Postcode |
|
| JsonData | Json | , , - cloudpayments. , : name, firstName, middleName, lastName, nick, phone, address, comment, birthDate. |
|
| SaveCard | bool | (. ()). : true - , false - (-) SaveCard " " . " ", SaveCard . |
JSON :
- success ;
- message ;
- model .
:
- :
success false
message - 3-D Secure :
success false
model - :
success false
model - :
success true
model
:
{
"Amount":10,
"Currency":"RUB",
"InvoiceId":"1234567",
"IpAddress": "123.123.123.123",
"Description":" example.com",
"AccountId":"user_x",
"Name":"CARDHOLDER NAME", // CardCryptogramPacket
"CardCryptogramPacket":"01492500008719030128SMfLeYdKp5dSQVIiO5l6ZCJiPdel4uDjdFTTz1UnXY+3QaZcNOW8lmXg0H670MclS4lI+qLkujKF4pR5Ri+T/E04Ufq3t5ntMUVLuZ998DLm+OVHV7FxIGR7snckpg47A73v7/y88Q5dxxvVZtDVi0qCcJAiZrgKLyLCqypnMfhjsgCEPF6d4OMzkgNQiynZvKysI2q+xc9cL0+CMmQTUPytnxX52k9qLNZ55cnE8kuLvqSK+TOG7Fz03moGcVvbb9XTg1oTDL4pl9rgkG3XvvTJOwol3JDxL1i6x+VpaRxpLJg0Zd9/9xRJOBMGmwAxo8/xyvGuAj85sxLJL6fA=="
"Payer":
{
"FirstName":"",
"LastName":"",
"MiddleName":"",
"Birth":"1955-02-24",
"Address":" ",
"Street":"Lenina",
"City":"MO",
"Country":"RU",
"Phone":"+71234567890",
"Postcode":"345"
}
}
: :
{"Success":false,"Message":"Amount is required"}
: 3-D Secure :
{
"Model": {
"TransactionId": 891463508,
"PaReq": "+/eyJNZXJjaGFudE5hbWUiOm51bGwsIkZpcnN0U2l4IjoiNDI0MjQyIiwiTGFzdEZvdXIiOiI0MjQyIiwiQW1vdW50IjoxMDAuMCwiQ3VycmVuY3lDb2RlIjoiUlVCIiwiRGF0ZSI6IjIwMjEtMTAtMjVUMDA6MDA6MDArMDM6MDAiLCJDdXN0b21lck5hbWUiOm51bGwsIkN1bHR1cmVOYW1lIjoicnUtUlUifQ==",
"GoReq": null,
"AcsUrl": "https://demo.cloudpayments.ru/acs",
"ThreeDsSessionData": null,
"IFrameIsAllowed": true,
"FrameWidth": null,
"FrameHeight": null,
"ThreeDsCallbackId": "7be4d37f0a434c0a8a7fc0e328368d7d",
"EscrowAccumulationId": null
},
"Success": false,
"Message": null
}
{
"Model": {
"ReasonCode": 5051,
"PublicId": "pk_**********************************",
"TerminalUrl": "http://test.test",
"TransactionId": 891583633,
"Amount": 10,
"Currency": "RUB",
"CurrencyCode": 0,
"PaymentAmount": 10,
"PaymentCurrency": "RUB",
"PaymentCurrencyCode": 0,
"InvoiceId": "1234567",
"AccountId": "user_x",
"Email": null,
"Description": " example.com",
"JsonData": null,
"CreatedDate": "/Date(1635154784619)/",
"PayoutDate": null,
"PayoutDateIso": null,
"PayoutAmount": null,
"CreatedDateIso": "2021-10-25T09:39:44",
"AuthDate": null,
"AuthDateIso": null,
"ConfirmDate": null,
"ConfirmDateIso": null,
"AuthCode": null,
"TestMode": true,
"Rrn": null,
"OriginalTransactionId": null,
"FallBackScenarioDeclinedTransactionId": null,
"IpAddress": "123.123.123.123",
"IpCountry": "CN",
"IpCity": "Beijing",
"IpRegion": "Beijing",
"IpDistrict": "Beijing",
"IpLatitude": 39.9289,
"IpLongitude": 116.3883,
"CardFirstSix": "400005",
"CardLastFour": "5556",
"CardExpDate": "12/25",
"CardType": "Visa",
"CardProduct": null,
"CardCategory": null,
"EscrowAccumulationId": null,
"IssuerBankCountry": "US",
"Issuer": "ITS Bank",
"CardTypeCode": 0,
"Status": "Declined",
"StatusCode": 5,
"CultureName": "ru",
"Reason": "InsufficientFunds",
"CardHolderMessage": " ",
"Type": 0,
"Refunded": false,
"Name": "CARDHOLDER NAME",
"Token": "tk_255c42192323f2e09ea17635302c3",
"SubscriptionId": null,
"GatewayName": "Test",
"AndroidPay": false,
"WalletType": "",
"TotalFee": 0,
"VatAboveTotalFee": 0, // , . . 29.04.2026
"ProcessorAndPartnerFee": null, // . 29.04.2026
"VatWithinProcessorFee": null // . 29.04.2026
},
"Success": false,
"Message": null
}
: :
{
"Model": {
"ReasonCode": 0,
"PublicId": "pk_********************************",
"TerminalUrl": "http://test.test",
"TransactionId": 891510444,
"Amount": 10,
"Currency": "RUB",
"CurrencyCode": 0,
"PaymentAmount": 10,
"PaymentCurrency": "RUB",
"PaymentCurrencyCode": 0,
"InvoiceId": "1234567",
"AccountId": "user_x",
"Email": null,
"Description": " example.com",
"JsonData": null,
"CreatedDate": "/Date(1635150224630)/",
"PayoutDate": null,
"PayoutDateIso": null,
"PayoutAmount": null,
"CreatedDateIso": "2021-10-25T08:23:44",
"AuthDate": "/Date(1635150224739)/",
"AuthDateIso": "2021-10-25T08:23:44",
"ConfirmDate": null,
"ConfirmDateIso": null,
"AuthCode": "A1B2C3",
"TestMode": true,
"Rrn": null,
"OriginalTransactionId": null,
"FallBackScenarioDeclinedTransactionId": null,
"IpAddress": "123.123.123.123",
"IpCountry": "CN",
"IpCity": "Beijing",
"IpRegion": "Beijing",
"IpDistrict": "Beijing",
"IpLatitude": 39.9289,
"IpLongitude": 116.3883,
"CardFirstSix": "411111",
"CardLastFour": "1111",
"CardExpDate": "11/25",
"CardType": "Visa",
"CardProduct": "C",
"CardCategory": "Visa Signature (Signature)",
"EscrowAccumulationId": null,
"IssuerBankCountry": "RU",
"Issuer": "CloudPayments",
"CardTypeCode": 0,
"Status": "Authorized",
"StatusCode": 2,
"CultureName": "ru",
"Reason": "Approved",
"CardHolderMessage": " ",
"Type": 0,
"Refunded": false,
"Name": "CARDHOLDER NAME",
"Token": "0a0afb77-8f41-4de2-9524-1057f9695303",
"SubscriptionId": null,
"GatewayName": "Test",
"AndroidPay": false,
"WalletType": "",
"TotalFee": 0,
"VatAboveTotalFee": 0, // , . . 29.04.2026
"ProcessorAndPartnerFee": null, // . 29.04.2026
"VatWithinProcessorFee": null // . 29.04.2026
},
"Success": true,
"Message": null
}
3-D Secure
3-D Secure , AcsUrl :
- MD TransactionId ;
- PaReq ;
- TermUrl .
:
<form name="downloadForm" action="AcsUrl" method="POST">
<input type="hidden" name="PaReq" value="eJxVUdtugkAQ/RXDe9mLgo0Z1nhpU9PQasWmPhLYAKksuEChfn13uVR9mGTO7MzZM2dg3qSn0Q+X\nRZIJxyAmNkZcBFmYiMgxDt7zw6MxZ+DFkvP1ngeV5AxcXhR+xEdJ6BhpEZnEYLBdfPAzg56JKSKT\nAhqgGpFB7IuSgR+cl5s3NqFTG2NAPYSUy82aETqeWPYUUAdB+ClnwSmrwtz/TbkoC0BtDYKsEqX8\nZfZkDGgAUMkTi8synyFU17V5N2nKCpBuAHRVs610VijCJgmZu17UXTxhFWP34l7evYPlegsHkO6A\n0C85o5hMsI3piNIZHc+IBaitg59qJYzgdrUOQK7/WNy+3FZAeSqV5cMqAwLe5JlQwpny8T8HdFW8\netFuBqUyahV+Hjf27vWCaSx22fe+KY6kXKZfJLK1x22TZkyUS8QiHaUGgDQN6s+H+tOq7O7kf8hd\nt30=">
<input type="hidden" name="MD" value="504">
<input type="hidden" name="TermUrl" value="https://example.com/post3ds?order=1234567">
</form>
<script>
window.onload = submitForm;
function submitForm() { downloadForm.submit(); }
</script>
Post3ds.
:
https://api.cloudpayments.ru/payments/cards/post3ds
:
| TransactionId | Long | MD | |
| PaRes | String |
()
, , (MCC 4814 Telecommunication Services), . , - .Payer Phone.
: , ( ), - .
: +71234567890
, , Pay-.
(publicId), . , assistant@cp.ru
(/) Pay Fail- , .
:
https://api.cloudpayments.ru/payments/tokens/charge
https://api.cloudpayments.ru/payments/tokens/auth
:
| Amount | Number | C , . 2 | |
| Currency | String | : RUB/USD/EUR/GBP (. ). , RUB | |
| AccountId | String | ||
| TrInitiatorCode | Int | . : 0 - ; 1 - () . ! , , PaymentScheduled . |
|
| PaymentScheduled | Int | . : 0 - ; 1 - . ! , , 0. |
|
| Token | String | ||
| InvoiceId | String | ||
| Description | String | ||
| IpAddress | String | IP- | |
| String | E-mail , | ||
| Payer | Object | . , . : FirstName, LastName, MiddleName, Birth, Street, Address, City, Country, Phone, Postcode |
|
| JsonData | Json | , , - cloudpayments. , : name, firstName, middleName, lastName, nick, phone, address, comment, birthDate. |
JSON : success , message , model .
- :
success false
message - :
success false
model - :
success true
model
:
{
"Amount":59,
"Currency":"RUB",
"InvoiceId":"1234567",
"Description":" example.com",
"AccountId":"user_x",
"TrInitiatorCode": 0,
"PaymentScheduled": 1,
"Token":"success_1111a3e0-2428-48fb-a530-12815d90d0e8",
"Payer":
{
"FirstName":"",
"LastName":"",
"MiddleName":"",
"Birth":"1955-02-24",
"Address":" ",
"Street":"Lenina",
"City":"MO",
"Country":"RU",
"Phone":"+71234567890",
"Postcode":"345"
}
}
:
{"Success":false,"Message":"Amount is required"}
{
"Model": {
"ReasonCode": 5051,
"PublicId": "pk_**********************************",
"TerminalUrl": "http://test.test",
"TransactionId": 891583633,
"Amount": 100,
"Currency": "RUB",
"CurrencyCode": 0,
"PaymentAmount": 100,
"PaymentCurrency": "RUB",
"PaymentCurrencyCode": 0,
"InvoiceId": "1234567",
"AccountId": "user_x",
"TrInitiatorCode": 0,
"Email": null,
"Description": " example.com",
"JsonData": null,
"CreatedDate": "/Date(1635154784619)/",
"PayoutDate": null,
"PayoutDateIso": null,
"PayoutAmount": null,
"CreatedDateIso": "2021-10-25T09:39:44",
"AuthDate": null,
"AuthDateIso": null,
"ConfirmDate": null,
"ConfirmDateIso": null,
"AuthCode": null,
"TestMode": true,
"Rrn": null,
"OriginalTransactionId": null,
"FallBackScenarioDeclinedTransactionId": null,
"IpAddress": "123.123.123.123",
"IpCountry": "CN",
"IpCity": "Beijing",
"IpRegion": "Beijing",
"IpDistrict": "Beijing",
"IpLatitude": 39.9289,
"IpLongitude": 116.3883,
"CardFirstSix": "400005",
"CardLastFour": "5556",
"CardExpDate": "12/25",
"CardType": "Visa",
"CardProduct": null,
"CardCategory": null,
"EscrowAccumulationId": null,
"IssuerBankCountry": "US",
"Issuer": "ITS Bank",
"CardTypeCode": 0,
"Status": "Declined",
"StatusCode": 5,
"CultureName": "ru",
"Reason": "InsufficientFunds",
"CardHolderMessage": " ",
"Type": 0,
"Refunded": false,
"Name": "CARDHOLDER NAME",
"Token": "tk_255c42192323f2e09ea17635302c3",
"SubscriptionId": null,
"GatewayName": "Test",
"AndroidPay": false,
"WalletType": "",
"TotalFee": 0,
"VatAboveTotalFee": 0, // , . . 29.04.2026
"ProcessorAndPartnerFee": null, // . 29.04.2026
"VatWithinProcessorFee": null // . 29.04.2026
},
"Success": false,
"Message": null
}
:
{
"Model": {
"ReasonCode": 0,
"PublicId": "pk_**************************",
"TerminalUrl": "http://test.test",
"TransactionId": 897728064,
"Amount": 59,
"Currency": "RUB",
"CurrencyCode": 0,
"PaymentAmount": 59,
"PaymentCurrency": "RUB",
"PaymentCurrencyCode": 0,
"InvoiceId": 1234567,
"AccountId": "user_x",
"TrInitiatorCode": 0,
"Email": null,
"Description": " example.com",
"JsonData": null,
"CreatedDate": "/Date(1635562705992)/",
"PayoutDate": null,
"PayoutDateIso": null,
"PayoutAmount": null,
"CreatedDateIso": "2021-10-30T02:58:25",
"AuthDate": "/Date(1635562706070)/",
"AuthDateIso": "2021-10-30T02:58:26",
"ConfirmDate": "/Date(1635562706070)/",
"ConfirmDateIso": "2021-10-30T02:58:26",
"AuthCode": "A1B2C3",
"TestMode": true,
"Rrn": null,
"OriginalTransactionId": null,
"FallBackScenarioDeclinedTransactionId": null,
"IpAddress": "87.251.91.164",
"IpCountry": "RU",
"IpCity": "",
"IpRegion": " ",
"IpDistrict": " ",
"IpLatitude": 55.03923,
"IpLongitude": 82.927818,
"CardFirstSix": "424242",
"CardLastFour": "4242",
"CardExpDate": "12/25",
"CardType": "Visa",
"CardProduct": "I",
"CardCategory": "Visa Infinite Infinite",
"EscrowAccumulationId": null,
"IssuerBankCountry": "RU",
"Issuer": "CloudPayments",
"CardTypeCode": 0,
"Status": "Completed",
"StatusCode": 3,
"CultureName": "ru-RU",
"Reason": "Approved",
"CardHolderMessage": " ",
"Type": 0,
"Refunded": false,
"Name": "SER",
"Token": "success_1111a3e0-2428-48fb-a530-12815d90d0e8",
"SubscriptionId": null,
"GatewayName": "Test",
"AndroidPay": false,
"WalletType": "",
"TotalFee": 0,
"VatAboveTotalFee": 0, // , . . 29.04.2026
"ProcessorAndPartnerFee": null, // . 29.04.2026
"VatWithinProcessorFee": null // . 29.04.2026
},
"Success": true,
"Message": null
}
:
https://api.cloudpayments.ru/payments/confirm
:
| TransactionId | Long | ||
| Amount | Number | , . 2. | |
| JsonData | Json | , , - |
:
{"TransactionId":455,"Amount":65.98}
:
{"Success":true,"Message":null}
API.
:
https://api.cloudpayments.ru/payments/void
:
| TransactionId | Long |
:
{"TransactionId":455}
:
{"Success":true,"Message":null}
API.
:
https://api.cloudpayments.ru/payments/refund
:
| TransactionId | Long | ||
| Amount | Number | , . 2. | |
| JsonData | Json | , , - |
:
{"TransactionId":455, "Amount": 100}
:
{
"Model": {
"TransactionId": 568
},
"Success": true,
"Message": null
}
API.
:
https://api.cloudpayments.ru/payments/cards/topup
:
| CardCryptogramPacket | String | ||
| Amount | Number | C , . 2 | |
| Currency | String | : RUB | |
| Name | String | ||
| AccountId | String | ||
| String | E-mail , | ||
| JsonData | Json | , . , : name, firstName, middleName, lastName, nick, phone, address, comment, birthDate. |
|
| InvoiceId | String | ||
| Description | String | ||
| Payer | Object | . , | |
| Receiver | Object | . , |
:
{
"Name":"CARDHOLDER NAME",
"CardCryptogramPacket":"01492500008719030128SMfLeYdKp5dSQVIiO5l6ZCJiPdel4uDjdFTTz1UnXY+3QaZcNOW8lmXg0H670MclS4lI+qLkujKF4pR5Ri+T/E04Ufq3t5ntMUVLuZ998DLm+OVHV7FxIGR7snckpg47A73v7/y88Q5dxxvVZtDVi0qCcJAiZrgKLyLCqypnMfhjsgCEPF6d4OMzkgNQiynZvKysI2q+xc9cL0+CMmQTUPytnxX52k9qLNZ55cnE8kuLvqSK+TOG7Fz03moGcVvbb9XTg1oTDL4pl9rgkG3XvvTJOwol3JDxL1i6x+VpaRxpLJg0Zd9/9xRJOBMGmwAxo8/xyvGuAj85sxLJL6fA==",
"Amount":1,
"AccountId":"user@example.com",
"Currency":"RUB",
"InvoiceId":"1234567",
"Payer":
// Receiver
{
"FirstName":"",
"LastName":"",
"MiddleName":"",
"Address":" ",
"Birth":"1955-02-24",
"City":"MO",
"Street":"",
"Country":"RU",
"Phone":"+71234567890",
"Postcode":"345"
}
}
:
{
"Model": {
"ReasonCode": 0,
"PublicId": "pk_*******************************",
"TerminalUrl": "http://test.test",
"TransactionId": 897739551,
"Amount": 399,
"Currency": "RUB",
"CurrencyCode": 0,
"PaymentAmount": 399,
"PaymentCurrency": "RUB",
"PaymentCurrencyCode": 0,
"InvoiceId": null,
"AccountId": "user@example.com",
"Email": null,
"Description": null,
"JsonData": null,
"CreatedDate": "/Date(1635564719715)/",
"PayoutDate": null,
"PayoutDateIso": null,
"PayoutAmount": null,
"CreatedDateIso": "2021-10-30T03:31:59",
"AuthDate": "/Date(1635564719858)/",
"AuthDateIso": "2021-10-30T03:31:59",
"ConfirmDate": "/Date(1635564719858)/",
"ConfirmDateIso": "2021-10-30T03:31:59",
"AuthCode": "A1B2C3",
"TestMode": true,
"Rrn": null,
"OriginalTransactionId": null,
"FallBackScenarioDeclinedTransactionId": null,
"IpAddress": "172.18.200.124",
"IpCountry": "",
"IpCity": null,
"IpRegion": null,
"IpDistrict": null,
"IpLatitude": null,
"IpLongitude": null,
"CardFirstSix": "424242",
"CardLastFour": "4242",
"CardExpDate": "12/25",
"CardType": "Visa",
"CardProduct": "I",
"CardCategory": "Visa Infinite (Infinite)",
"EscrowAccumulationId": null,
"IssuerBankCountry": "RU",
"Issuer": "CloudPayments",
"CardTypeCode": 0,
"Status": "Completed",
"StatusCode": 3,
"CultureName": "ru",
"Reason": "Approved",
"CardHolderMessage": " ",
"Type": 2,
"TransactionIsInProcess": false,
"Refunded": false,
"Name": "CARDHOLDER NAME",
"Token": null,
"SubscriptionId": null,
"GatewayName": "Test",
"AndroidPay": false,
"WalletType": "",
"TotalFee": 0
},
"Success": true,
"Message": null
}
POST /payments/cards/topup :
| Completed | |
| Created | |
| Failed |
, Model.Status Created, Model.TransactionIsInProcess true.
webhook- :
| Completed | PAY, CloudPayments |
| Failed | FAIL, CloudPayments |
API.
, .
TPay, Sbp , , .
:
https://api.cloudpayments.ru/payments/token/topup
:
| Token | String | , | |
| Amount | Number | C , . 2 | |
| AccountId | String | ||
| Currency | String | : RUB | |
| InvoiceId | String | ||
| Payer | Object | . , | |
| Receiver | Object | . , |
:
{
"Token":"0a0afb77-8f41-4de2-9524-1057f9695303",
"Amount":59,
"AccountId":"user_x",
"Currency":"RUB",
"Payer":
// Receiver
{
"FirstName":"",
"LastName":"",
"MiddleName":"",
"Address":" ",
"Birth":"1955-02-24",
"City":"MO",
"Country":"RU",
"Phone":"+71234567890",
"Postcode":"345"
}
}
:
{
"Model": {
"ReasonCode": 0,
"PublicId": "pk_******************************",
"TerminalUrl": "http://test.test",
"TransactionId": 897747761,
"Amount": 59,
"Currency": "RUB",
"CurrencyCode": 0,
"PaymentAmount": 59,
"PaymentCurrency": "RUB",
"PaymentCurrencyCode": 0,
"InvoiceId": null,
"AccountId": "user_x",
"Email": null,
"Description": null,
"JsonData": null,
"CreatedDate": "/Date(1635566071122)/",
"PayoutDate": null,
"PayoutDateIso": null,
"PayoutAmount": null,
"CreatedDateIso": "2021-10-30T03:54:31",
"AuthDate": "/Date(1635566071232)/",
"AuthDateIso": "2021-10-30T03:54:31",
"ConfirmDate": "/Date(1635566071232)/",
"ConfirmDateIso": "2021-10-30T03:54:31",
"AuthCode": "A1B2C3",
"TestMode": true,
"Rrn": null,
"OriginalTransactionId": null,
"FallBackScenarioDeclinedTransactionId": null,
"IpAddress": "172.18.200.124",
"IpCountry": "",
"IpCity": null,
"IpRegion": null,
"IpDistrict": null,
"IpLatitude": null,
"IpLongitude": null,
"CardFirstSix": "411111",
"CardLastFour": "1111",
"CardExpDate": "11/25",
"CardType": "Visa",
"CardProduct": "C",
"CardCategory": "Visa Signature Signature",
"EscrowAccumulationId": null,
"IssuerBankCountry": "RU",
"Issuer": "CloudPayments",
"CardTypeCode": 0,
"Status": "Completed",
"StatusCode": 3,
"CultureName": "ru",
"Reason": "Approved",
"CardHolderMessage": " ",
"Type": 2,
"Refunded": false,
"Name": "CARDHOLDER NAME",
"Token": "0a0afb77-8f41-4de2-9524-1057f9695303",
"SubscriptionId": null,
"GatewayName": "Test",
"AndroidPay": false,
"WalletType": "",
"TotalFee": 0
},
"Success": true,
"Message": null
}
API.
:
https://api.cloudpayments.ru/payments/alt/topup
:
| MemberId | String | Receiver.Phone , MemberId MemberId . schema MemberId schema, schema:bank100000000111 MemberId:100000000111 |
|
| Amount | Number | C , . 2 | |
| Currency | String | : RUB | |
| AccountId | String | ||
| String | E-mail , | ||
| CultureName | String | . : "ru-RU", "en-US". (. ) | |
| InvoiceId | String | ||
| Description | String | ||
| Payer | Object | . , . : FirstName, LastName, MiddleName, Birth, Street, Address, City, Country, Phone, Postcode |
|
| Receiver | Object | . , | |
| Receiver.Phone | String |
:
{
"Amount":1,
"AccountId":"user@example.com",
"MemberId":"12456",
"Currency":"RUB",
"InvoiceId":"1234567",
"Receiver":
{
"Phone":"+71234567890"
}
}
:
{
"Model": {
"ReasonCode": 0,
"PublicId": "test_api_00000000000000000000002",
"TerminalUrl": "https://demo-preprod.cloudpayments.ru",
"TransactionId": 2200976211,
"Amount": 50,
"Currency": "RUB",
"CurrencyCode": 0,
"PaymentAmount": 50,
"PaymentCurrency": "RUB",
"PaymentCurrencyCode": 0,
"InvoiceId": null,
"AccountId": "a.kadyrova@cloudpayments.ru",
"Email": "a.kadyrova@cloudpayments.ru",
"Description": null,
"JsonData": null,
"CreatedDate": "/Date(1717514966896)/",
"PayoutDate": null,
"PayoutDateIso": null,
"PayoutAmount": null,
"CreatedDateIso": "2024-06-04T15:29:26",
"AuthDate": "/Date(1717514967037)/",
"AuthDateIso": "2024-06-04T15:29:27",
"ConfirmDate": "/Date(1717514967037)/",
"ConfirmDateIso": "2024-06-04T15:29:27",
"AuthCode": "A1B2C3",
"TestMode": true,
"Rrn": null,
"OriginalTransactionId": null,
"FallBackScenarioDeclinedTransactionId": null,
"IpAddress": "172.18.200.35",
"IpCountry": "",
"IpCity": null,
"IpRegion": null,
"IpDistrict": null,
"IpLatitude": null,
"IpLongitude": null,
"CardFirstSix": "424242",
"CardLastFour": "4242",
"CardExpDate": "01/77",
"CardType": "Visa",
"CardProduct": "",
"CardCategory": " ()",
"EscrowAccumulationId": null,
"IssuerBankCountry": "RU",
"Issuer": "TINKOFF",
"CardTypeCode": 0,
"Status": "Completed",
"StatusCode": 3,
"CultureName": "ru",
"Reason": "Approved",
"CardHolderMessage": " ",
"Type": 2,
"Refunded": false,
"Name": "SERGEY",
"Token": null,
"SubscriptionId": null,
"GatewayName": "Test",
"AndroidPay": false,
"WalletType": "",
"TotalFee": 0,
"IsLocalOrder": false,
"Gateway": 0,
"MasterPass": false,
"InfoShopData": null,
"Receiver":{
"FirstName":"",
"LastName":"",
"MiddleName":"",
"Address":" ",
"Birth":"1955-02-24",
"City":"MO",
"Street":"",
"Country":"RU",
"Phone":"+71234567890",
"Postcode":"345"
}
},
"Success": true,
"Message": null,
"ErrorCode": null
}
.
:
https://api.cloudpayments.ru/payments/get
:
| TransactionId | Long |
, .
:
{"TransactionId":897749645}
:
{
"Model": {
"ReasonCode": 0,
"PublicId": "pk_*****************************************",
"TerminalUrl": "http://test.test",
"TransactionId": 897749645,
"Amount": 159,
"Currency": "RUB",
"CurrencyCode": 0,
"PaymentAmount": 159,
"PaymentCurrency": "RUB",
"PaymentCurrencyCode": 0,
"InvoiceId": "12345",
"AccountId": "usex_x",
"Email": null,
"Description": "test",
"JsonData": "",
"CreatedDate": "/Date(1635566398686)/",
"PayoutDate": null,
"PayoutDateIso": null,
"PayoutAmount": null,
"CreatedDateIso": "2021-10-30T03:59:58",
"AuthDate": "/Date(1635566402780)/",
"AuthDateIso": "2021-10-30T04:00:02",
"ConfirmDate": "/Date(1635566406382)/",
"ConfirmDateIso": "2021-10-30T04:00:06",
"AuthCode": "A1B2C3",
"TestMode": true,
"Rrn": null,
"OriginalTransactionId": null,
"FallBackScenarioDeclinedTransactionId": null,
"IpAddress": "87.251.91.164",
"IpCountry": "RU",
"IpCity": "",
"IpRegion": " ",
"IpDistrict": " ",
"IpLatitude": 55.03923,
"IpLongitude": 82.927818,
"CardFirstSix": "424242",
"CardLastFour": "4242",
"CardExpDate": "12/25",
"CardType": "Visa",
"CardProduct": "I",
"CardCategory": "Visa Infinite (Infinite)",
"EscrowAccumulationId": null,
"IssuerBankCountry": "RU",
"Issuer": "CloudPayments",
"CardTypeCode": 0,
"Status": "Completed",
"StatusCode": 3,
"CultureName": "ru-RU",
"Reason": "Approved",
"CardHolderMessage": " ",
"Type": 0,
"Refunded": false,
"Name": "TEST",
"Token": "success_eb250528-bd9e-4de7-bb49-9e0b546351d3",
"SubscriptionId": null,
"GatewayName": "Test",
"AndroidPay": false,
"WalletType": "",
"TotalFee": 0,
"VatAboveTotalFee": 0, // , . 29.04.2026
"ProcessorAndPartnerFee": 0, // . . 29.04.2026
"VatWithinProcessorFee": 0 // . . 29.04.2026
},
"Success": true,
"Message": null
}
:
https://api.cloudpayments.ru/payments/find
:
https://api.cloudpayments.ru/v2/payments/find
:
| InvoiceId | String |
:
{"InvoiceId":"123456789"}
:
{"Success":false,"Message":"Not found"}
.
:
https://api.cloudpayments.ru/payments/list
:
| Date | String | ||
| TimeZone | String | , UTC |
, . (. ).
:
{"Date":"2014-08-09", "TimeZone": "MSK"}
:
{
"Model":[
{
"PublicId":"test_api_00000000000000000000001",
"TerminalUrl":"https://cloudpayments.ru",
"TransactionId":54,
"Amount":12.34,
"Currency":"RUB",
"CurrencyCode":0,
"PaymentAmount":12.34,
"PaymentCurrency":"RUB",
"PaymentCurrencyCode":0,
"InvoiceId":"1234567",
"AccountId":"User@Example.com",
"Email":null,
"Description":" example.com",
"JsonData":"{\"some\": \"value\"}",
"CreatedDate":"\/Date(1615288374632)\/",
"PayoutDate":null,
"PayoutDateIso":null,
"PayoutAmount":null,
"CreatedDateIso":"2021-03-09T11:12:54",
"AuthDate":null,
"AuthDateIso":null,
"ConfirmDate":null,
"ConfirmDateIso":null,
"AuthCode":null,
"TestMode":true,
"Rrn":null,
"OriginalTransactionId":null,
"FallBackScenarioDeclinedTransactionId":null,
"IpAddress":"127.0.0.1",
"IpCountry":"",
"IpCity":null,
"IpRegion":null,
"IpDistrict":null,
"IpLatitude":null,
"IpLongitude":null,
"CardFirstSix":"424242",
"CardLastFour":"4242",
"CardExpDate":"05/22",
"CardType":"Visa",
"CardProduct":null,
"CardCategory":null,
"IssuerBankCountry":"FF",
"Issuer":null,
"CardTypeCode":0,
"Status":"Declined",
"StatusCode":5,
"CultureName":"ru",
"Reason":"SystemError",
"CardHolderMessage":" ",
"Type":0,
"Refunded":false,
"Name":"CARD HOLDER",
"Token":null,
"SubscriptionId":null,
"IsLocalOrder":false,
"HideInvoiceId":false,
"Gateway":0,
"GatewayName":"Test",
"AndroidPay":false,
"MasterPass":false,
"TotalFee":0,
"EscrowAccumulationId":null,
"ReasonCode":5096,
"VatAboveTotalFee": 0, // , . 29.04.2026
"ProcessorAndPartnerFee": 0, // . . 29.04.2026
"VatWithinProcessorFee": 0 // . . 29.04.2026
}
],
"Success":true,
"Message":null
}
.
:
https://api.cloudpayments.ru/v2/payments/list
:
| CreatedDateGte | Date | ||
| CreatedDateLte | Date | ||
| PageNumber | Number | , 1 | |
| TimeZone | String | , UTC | |
| Statuses | String Array | . [ "Authorized", "Completed", "Cancelled", "Declined" ]. |
, . CreatedDate, - 100 . (. ).
:
{
"PageNumber": 1,
"CreatedDateGte":"2021-03-09T00:00:00+03:00",
"CreatedDateLte":"2021-03-10T00:00:00+03:00",
"TimeZone": "MSK",
"Statuses": [
"Authorized",
"Completed",
"Cancelled",
"Declined"
]
}
:
{
"Model":[
{
"PublicId":"test_api_00000000000000000000001",
"TerminalUrl":"https://cloudpayments.ru",
"TransactionId":54,
"Amount":12.34,
"Currency":"RUB",
"CurrencyCode":0,
"PaymentAmount":12.34,
"PaymentCurrency":"RUB",
"PaymentCurrencyCode":0,
"InvoiceId":"1234567",
"AccountId":"User@Example.com",
"Email":null,
"Description":" example.com",
"JsonData":"{\"some\": \"value\"}",
"CreatedDate":"\/Date(1615288374632)\/",
"PayoutDate":null,
"PayoutDateIso":null,
"PayoutAmount":null,
"CreatedDateIso":"2021-03-09T11:12:54",
"AuthDate":null,
"AuthDateIso":null,
"ConfirmDate":null,
"ConfirmDateIso":null,
"AuthCode":null,
"TestMode":true,
"Rrn":null,
"OriginalTransactionId":null,
"FallBackScenarioDeclinedTransactionId":null,
"IpAddress":"127.0.0.1",
"IpCountry":"",
"IpCity":null,
"IpRegion":null,
"IpDistrict":null,
"IpLatitude":null,
"IpLongitude":null,
"CardFirstSix":"424242",
"CardLastFour":"4242",
"CardExpDate":"05/22",
"CardType":"Visa",
"CardProduct":null,
"CardCategory":null,
"IssuerBankCountry":"FF",
"Issuer":null,
"CardTypeCode":0,
"Status":"Declined",
"StatusCode":5,
"CultureName":"ru",
"Reason":"SystemError",
"CardHolderMessage":" ",
"Type":0,
"Refunded":false,
"Name":"CARD HOLDER",
"Token":null,
"SubscriptionId":null,
"IsLocalOrder":false,
"HideInvoiceId":false,
"Gateway":0,
"GatewayName":"Test",
"AndroidPay":false,
"MasterPass":false,
"TotalFee":0,
"EscrowAccumulationId":null,
"ReasonCode":5096,
"VatAboveTotalFee": 0, // , . 29.04.2026
"ProcessorAndPartnerFee": 0, // . . 29.04.2026
"VatWithinProcessorFee": 0 // . . 29.04.2026
}
],
"Success":true,
"Message":null
}
, 1 . http- Basic Auth. - public key (pk) .
, . Date, - 100 .
:
https://api.cloudpayments.ru/chargebacks/list
:
| CreatedDateGte | Date | ||
| CreatedDateLte | Date | ||
| PageNumber | Number | , 1 |
:
{
"PageNumber": 1,
"CreatedDateGte":"2021-03-09T00:00:00+03:00",
"CreatedDateLte":"2021-03-10T00:00:00+03:00"
}
:
| Success | bool | |
| Message | string | |
| Model | object | |
| ChargeBackId | string | |
| TransactionId | NumberLong | , |
| TerminalUrl | string | |
| Gateway | string | |
| Operation | string | , :Presentment - Representment - |
| Type | string | , :Chargeback - Fee - |
| Card | string | |
| Date | date | |
| Amount | decimal | |
| Currency | string |
:
{
"Model": [
{
"ChargeBackId": "6811d4a17bab1c4b44c19371",
"TerminalUrl": "https://cloudpayments.ru/",
"TransactionId": 2200203594,
"Amount": 100,
"Currency": "RUB",
"Type": "Chargeback",
"Operation": "Presentment",
"Card": "520500*******3055",
"Gateway": "SberbankRu",
"Date": "/Date(1745960400000)/"
}
],
"Success": true,
"Message": null,
"ErrorCode": null
}
CloudPayments.
:
https://api.cloudpayments.ru/payments/tokens/list
:
| PageNumber | Int | , 1 |
:
{
"PageNumber": 1
}
:
{
"Model": [
{
"Token": "tk_020a924486aa4df254331afa33f2a",
"AccountId": "user_x",
"CardMask": "4242 42****** 4242",
"ExpirationDateMonth": 12,
"ExpirationDateYear": 2020
},
{
"Token": "tk_1a9f2f10253a30a7c5692a3fc4c17",
"AccountId": "user_x",
"CardMask": "5555 55****** 4444",
"ExpirationDateMonth": 12,
"ExpirationDateYear": 2021
},
{
"Token": "tk_b91062f0f2875909233ab66d0fc7b",
"AccountId": "user_x",
"CardMask": "4012 88****** 1881",
"ExpirationDateMonth": 12,
"ExpirationDateYear": 2022
}
],
"Success": true,
"Message": null
}
.
(publicId), . , assistant@cp.ru
:
https://api.cloudpayments.ru/subscriptions/create
:
| Token | String | , | |
| AccountId | String | ||
| Description | String | ||
| String | |||
| Amount | Number | C , . 2 | |
| Currency | String | : RUB/USD/EUR/GBP (. ) | |
| RequireConfirmation | Bool | true | |
| StartDate | DateTime | UTC. | |
| Interval | String | . : Day, Week, Month | |
| Period | Int | . , 1 Month , 2 Week . 0 | |
| MaxPeriods | Int | . , 0 | |
| CustomerReceipt | json | - |
.
:
{
"token": "477BBA133C182267FE5F086924ABDC5DB71F77BFC27F01F2843F2CDC69D89F05",
"accountId": "user_x",
"description": " example.com",
"email": "user@example.com",
"amount": 399,
"currency": "RUB",
"requireConfirmation": false,
"startDate": "2021-11-02T21:00:00",
"interval": "Day",
"period": 5
}
:
{
"Model": {
"Id": "sc_221da6421dc44dbd2cc3464f6f083",
"AccountId": "user_x",
"Description": " example.com",
"Email": "user@example.com",
"Amount": 399,
"CurrencyCode": 0,
"Currency": "RUB",
"RequireConfirmation": false,
"StartDate": "/Date(1635886800000)/",
"StartDateIso": "2021-11-02T21:00:00",
"IntervalCode": 2,
"Interval": "Day",
"Period": 5,
"MaxPeriods": null,
"CultureName": "ru-RU",
"StatusCode": 0,
"Status": "Active",
"SuccessfulTransactionsNumber": 0,
"FailedTransactionsNumber": 0,
"LastTransactionDate": null,
"LastTransactionDateIso": null,
"NextTransactionDate": "/Date(1635886800000)/",
"NextTransactionDateIso": "2021-11-02T21:00:00",
"Receipt": null,
"FailoverSchemeId": null
},
"Success": true,
"Message": null
}
.
:
https://api.cloudpayments.ru/subscriptions/get
:
| Id | String |
:
{"Id":"sc_8cf8a9338fb8ebf7202b08d09c938"}
:
{
"Model": {
"Id": "sc_8cf8a9338fb8ebf7202b08d09c938",
"AccountId": "user_x",
"Description": null,
"Email": "user@example.com",
"Amount": 399,
"CurrencyCode": 0,
"Currency": "RUB",
"RequireConfirmation": false,
"StartDate": "/Date(1635886800000)/",
"StartDateIso": "2021-11-02T21:00:00",
"IntervalCode": 2,
"Interval": "Day",
"Period": 5,
"MaxPeriods": null,
"CultureName": "ru-RU",
"StatusCode": 3,
"Status": "Cancelled",
"SuccessfulTransactionsNumber": 0,
"FailedTransactionsNumber": 0,
"LastTransactionDate": null,
"LastTransactionDateIso": null,
"NextTransactionDate": null,
"NextTransactionDateIso": null,
"Receipt": null,
"FailoverSchemeId": null
},
"Success": true,
"Message": null
}
.
:
https://api.cloudpayments.ru/subscriptions/find
:
| accountId | String |
:
{"accountId":"user@example.com"}
:
{
"Model": [
{
"Id": "sc_221da6421dc44dbd2cc3464f6f083",
"AccountId": "user_x",
"Description": null,
"Email": "user@example.com",
"Amount": 399,
"CurrencyCode": 0,
"Currency": "RUB",
"RequireConfirmation": false,
"StartDate": "/Date(1635886800000)/",
"StartDateIso": "2021-11-02T21:00:00",
"IntervalCode": 2,
"Interval": "Day",
"Period": 5,
"MaxPeriods": null,
"CultureName": "ru-RU",
"StatusCode": 3,
"Status": "Cancelled",
"SuccessfulTransactionsNumber": 0,
"FailedTransactionsNumber": 0,
"LastTransactionDate": null,
"LastTransactionDateIso": null,
"NextTransactionDate": null,
"NextTransactionDateIso": null,
"Receipt": null,
"FailoverSchemeId": null
},
{
"Id": "sc_3ffc96c001e152b341817341b075a",
"AccountId": "user_x",
"Description": null,
"Email": "user@example.com",
"Amount": 999,
"CurrencyCode": 0,
"Currency": "RUB",
"RequireConfirmation": false,
"StartDate": "/Date(1635973200000)/",
"StartDateIso": "2021-11-03T21:00:00",
"IntervalCode": 2,
"Interval": "Day",
"Period": 5,
"MaxPeriods": null,
"CultureName": "ru-RU",
"StatusCode": 0,
"Status": "Active",
"SuccessfulTransactionsNumber": 0,
"FailedTransactionsNumber": 0,
"LastTransactionDate": null,
"LastTransactionDateIso": null,
"NextTransactionDate": "/Date(1635973200000)/",
"NextTransactionDateIso": "2021-11-03T21:00:00",
"Receipt": null,
"FailoverSchemeId": null
}
],
"Success": true,
"Message": null
}
.
:
https://api.cloudpayments.ru/subscriptions/update
:
| Id | String | ||
| Description | String | ||
| Amount | Number | , . 2. | |
| Currency | String | : RUB/USD/EUR/GBP (. ) | |
| RequireConfirmation | Bool | ||
| StartDate | DateTime | UTC | |
| Interval | String | . : Day, Week, Month | |
| Period | Int | . , 1 Month , 2 Week | |
| MaxPeriods | Int | ||
| CustomerReceipt | json | - | |
| CultureName | String | . : "ru-RU", "en-US". (. ) |
.
:
{
"Id":"sc_3ffc96c001e152b341817341b075a",
"description":" ",
"amount":499,
"currency":"RUB"
}
:
{
"Model": {
"Id": "sc_3ffc96c001e152b341817341b075a",
"AccountId": "user_x",
"Description": " ",
"Email": "user@example.com",
"Amount": 499,
"CurrencyCode": 0,
"Currency": "RUB",
"RequireConfirmation": false,
"StartDate": "/Date(1635973200000)/",
"StartDateIso": "2021-11-03T21:00:00",
"IntervalCode": 2,
"Interval": "Day",
"Period": 2,
"MaxPeriods": null,
"CultureName": "ru-RU",
"StatusCode": 0,
"Status": "Active",
"SuccessfulTransactionsNumber": 0,
"FailedTransactionsNumber": 0,
"LastTransactionDate": null,
"LastTransactionDateIso": null,
"NextTransactionDate": "/Date(1635973200000)/",
"NextTransactionDateIso": "2021-11-03T21:00:00",
"Receipt": null,
"FailoverSchemeId": null
},
"Success": true,
"Message": null
}
.
:
https://api.cloudpayments.ru/subscriptions/cancel
:
| Id | String |
.
:
{"Id":"sc_cc673fdc50b3577e60eee9081e440"}
:
{"Success":true,"Message":null}
https://my.cloudpayments.ru/, .
e-mail .
:
https://api.cloudpayments.ru/orders/create
:
| Amount | Number | C , . 2 | |
| Currency | String | RUB/USD/EUR/GBP (. ). , RUB | |
| Description | String | ||
| String | |||
| RequireConfirmation | Bool | true | |
| SendEmail | Bool | true | |
| InvoiceId | String | ||
| AccountId | String | ||
| OfferUri | String | , | |
| Phone | String | ||
| SendSms | Bool | true | |
| SendViber | Bool | true Viber | |
| CultureName | String | . : "ru-RU", "en-US". (. ) | |
| SubscriptionBehavior | String | . : CreateWeekly, CreateMonthly | |
| SuccessRedirectUrl | String | ||
| FailRedirectUrl | String | ||
| JsonData | Json | , , - cloudpayments |
:
{
"Amount":10.0,
"Currency":"RUB",
"Description":" example.com",
"Email":"client@test.local",
"RequireConfirmation":true,
"SendEmail":false
}
:
{
"Model": {
"Id": "gASGZVgUN21hcpPF",
"Number": 2130,
"Amount": 10.0,
"Currency": "RUB",
"CurrencyCode": 0,
"Email": "client@test.local",
"Phone": "+71234567890",
"Description": " example.com",
"RequireConfirmation": true,
"Url": "https://orders.cloudpayments.ru/d/gASGZVgUN21hcpPF",
"CultureName": "ru-RU",
"CreatedDate": "/Date(1635835930555)/",
"CreatedDateIso": "2021-11-02T09:52:10",
"PaymentDate": null,
"PaymentDateIso": null,
"StatusCode": 0,
"Status": "Created",
"InternalId": 12272915
},
"Success": true,
"Message": null
}
:
:
https://api.cloudpayments.ru/orders/cancel
:
| Id | String |
.
:
{"Id":"f2K8LV6reGE9WBFn"}
:
{
"Success": true,
"Message": null
}
.
:
https://api.cloudpayments.ru/site/notifications/{Type}/get
:
| Type | String | : Check/Pay/Fail .. (. ) |
Pay- :
https://api.cloudpayments.ru/site/notifications/pay/get
{
"Model": {
"IsEnabled": true,
"Address": "http://example.com",
"HttpMethod": "POST",
"Encoding": "UTF8",
"Format": "CloudPayments"
},
"Success": true,
"Message": null
}
.
:
https://api.cloudpayments.ru/site/notifications/{Type}/update
:
Pay- :
https://api.cloudpayments.ru/site/notifications/pay/update:
{
"IsEnabled": true,
"Address": "http://example.com",
"HttpMethod": "GET",
"Encoding": "UTF8",
"Format": "CloudPayments"
}
:
{"Success":true,"Message":null}
API . , , CultureName.
:
| MSK | ru-RU | |
| CET | en-US | |
| CET | lv | |
| AZT | az | |
| ALMT | kk | |
| EET | uk | |
| CET | pl | |
| ICT | vi | |
| TRT | tr |
(airline addendum) , . .
, , .
:
| BookingRef | String | , | |
| TicketNumber | String | , |
: . :
| FlightNumber | String | ||
| DepartureDateTime | DateTime | ||
| ArrivalDateTime | DateTime | ||
| OriginatingCountry | String | ||
| OriginatingCity | String | ||
| OriginatingAirportCode | String(3) | 3 IATA | |
| DestinationCountry | String | ||
| DestinationCity | String | ||
| DestinationAirportCode | String(3) | 3 IATA |
, :
| FirstName | String | ||
| LastName | String |
AirlineAddendum API .
:
{
"TicketNumber":"390 5241025377",
"BookingRef":null,
"Legs":[
{
"FlightNumber":"A3 971",
"DepartureDateTime":"2014-05-26T05:15:00",
"ArrivalDateTime":"2014-05-26T07:30:00",
"OriginatingCountry":"",
"OriginatingCity":"",
"OriginatingAirportCode":"DME",
"DestinationCountry":"",
"DestinationCity":"",
"DestinationAirportCode":"ATH"
},
{
"FlightNumber":"A3 204",
"DepartureDateTime":"2014-05-26T09:45:00",
"ArrivalDateTime":"2014-05-26T10:50:00",
"OriginatingCountry":"",
"OriginatingCity":"",
"OriginatingAirportCode":"ATH",
"DestinationCountry":"",
"DestinationCity":"",
"DestinationAirportCode":"RHO"
},
{
"FlightNumber":"A3 980",
"DepartureDateTime":"2014-06-06T09:00:00",
"ArrivalDateTime":"2014-06-06T13:45:00",
"OriginatingCountry":"",
"OriginatingCity":"",
"OriginatingAirportCode":"RHO",
"DestinationCountry":"",
"DestinationCity":"",
"DestinationAirportCode":"DME"
}
],
"Passengers":[
{
"FirstName":"KONSTANTIN",
"LastName":"IVANOV"
},
{
"FirstName":"JULIA",
"LastName":"IVANOVA"
}
]
}
HTTP- . callback webhook. : , , , .
, . , , . (Pay, Fail, Recurrent, Cancel, Confirm, Refund) : , , , 100 : 1, 2, 5, 10, 30. - - 30 . 1% 2 . 1 .Check
, .
: , .
, :
| TransactionId | Long | ||
| Amount | Number, , | ||
| Currency | String | : RUB/USD/EUR/GBP (. ) | |
| PaymentAmount | String | ||
| PaymentCurrency | String | ||
| DateTime | yyyy-MM-dd HH:mm:ss | / UTC | |
| CardId | String | CloudPayments | |
| CardFirstSix | String(6) | 6 | |
| CardLastFour | String(4) | 4 | |
| CardType | String | : Visa, Mastercard, Maestro "" | |
| CardExpDate | String | MM/YY | |
| TestMode | Bit (1 0) | ||
| Status | String | : Completed , Authorized | |
| OperationType | String | : Payment/Refund/CardPayout (. ) | |
| InvoiceId | String | ||
| AccountId | String | ||
| SubscriptionId | String | ( ) | |
| TokenRecipient | String | ||
| Name | String | ||
| String | |||
| IpAddress | String | IP- | |
| IpCountry | String(2) | ISO3166-1 | |
| IpCity | String | ||
| IpRegion | String | ||
| IpDistrict | String | ||
| IpLatitude | String | ||
| IpLongitude | String | ||
| Issuer | String | - | |
| IssuerBankCountry | String(2) | ISO3166-1 | |
| Description | String | ||
| CardProduct | String | ||
| PaymentMethod | String | (, T-Pay) | |
| Data | Json | , |
JSON- code:
{"code":0}
:
| 0 | ||
| 10 | ||
| 11 | AccountId | |
| 12 | ||
| 13 | ||
| 20 | , |
Pay
, .
: , .
, :
| TransactionId | Long | ||
| Amount | Number, , | ||
| Currency | String | : RUB/USD/EUR/GBP (. ) | |
| PaymentAmount | String | ||
| PaymentCurrency | String | ||
| DateTime | yyyy-MM-dd HH:mm:ss | / UTC | |
| CardId | String | CloudPayments | |
| CardFirstSix | String(6) | 6 | |
| CardLastFour | String(4) | 4 | |
| CardType | String | : Visa, Mastercard, Maestro "" | |
| CardExpDate | String | MM/YY | |
| TestMode | Bit (1 0) | ||
| Status | String | : Completed , Authorized |
|
| OperationType | String | : Payment/CardPayout (. ) | |
| GatewayName | String | - | |
| InvoiceId | String | ||
| AccountId | String | ||
| SubscriptionId | String | ( ) | |
| Name | String | ||
| String | |||
| IpAddress | String | IP- | |
| IpCountry | String(2) | ISO3166-1 | |
| IpCity | String | ||
| IpRegion | String | ||
| IpDistrict | String | ||
| IpLatitude | String | ||
| IpLongitude | String | ||
| Issuer | String | - | |
| IssuerBankCountry | String(2) | ISO3166-1 | |
| Description | String | ||
| AuthCode | String | ||
| Data | Json | , | |
| Token | String | ||
| TotalFee | Decimal | ||
| CardProduct | String | ||
| PaymentMethod | String | (, T-Pay) | |
| FallBackScenarioDeclinedTransactionId | Long | ||
| Rrn | String | , | |
| CustomFields | Array | , | |
| VatAboveTotalFee | Decimal | , . 29.04.2026 | |
| ProcessorAndPartnerFee | Decimal | . . 29.04.2026 | |
| VatWithinProcessorFee | Decimal | . . 29.04.2026 |
JSON- code:
{"code":0}
:
| 0 |
Fail
, , .
, .
, :
| TransactionId | Long | ||
| Amount | Number, , | ||
| Currency | String | : RUB/USD/EUR/GBP (. ) | |
| PaymentAmount | String | ||
| PaymentCurrency | String | ||
| DateTime | yyyy-MM-dd HH:mm:ss | / UTC | |
| CardId | String | CloudPayments | |
| CardFirstSix | String(6) | 6 | |
| CardLastFour | String(4) | 4 | |
| CardType | String | : Visa, Mastercard, Maestro "" | |
| CardExpDate | String | MM/YY | |
| TestMode | Bit (1 0) | ||
| Reason | String | ||
| ReasonCode | Int | (. ) | |
| OperationType | String | : Payment/Refund/CardPayout (. ) | |
| InvoiceId | String | ||
| AccountId | String | ||
| SubscriptionId | String | ( ) | |
| Name | String | ||
| String | |||
| IpAddress | String | IP- | |
| IpCountry | String(2) | ISO3166-1 | |
| IpCity | String | ||
| IpRegion | String | ||
| IpDistrict | String | ||
| IpLatitude | String | ||
| IpLongitude | String | ||
| Issuer | String | - | |
| IssuerBankCountry | String(2) | ISO3166-1 | |
| Description | String | ||
| Data | Json | , | |
| Token | String | ||
| PaymentMethod | String | (, T-Pay) | |
| FallBackScenarioDeclinedTransactionId | Long | ||
| Rrn | String | , | |
| CustomFields | Array | , | |
| RetryAfter | yyyy-MM-dd HH:mm:ss | , . 27.05.2026 | |
| ProviderMessage | String | , . 27.05.2026 |
JSON- code:
{"code":0}
:
| 0 |
Confirm
, :
| TransactionId | Long | ||
| Amount | Number, , | ||
| Currency | String | : RUB/USD/EUR/GBP (. ) | |
| PaymentAmount | String | ||
| PaymentCurrency | String | ||
| DateTime | yyyy-MM-dd HH:mm:ss | / UTC | |
| CardFirstSix | String(6) | 6 | |
| CardLastFour | String(4) | 4 | |
| CardType | String | : Visa, Mastercard, Maestro "" | |
| CardExpDate | String | MM/YY | |
| TestMode | Bit (1 0) | ||
| Status | String | : Completed | |
| InvoiceId | String | ||
| AccountId | String | ||
| SubscriptionId | String | ( ) | |
| Name | String | ||
| String | |||
| IpAddress | String | IP- | |
| IpCountry | String(2) | ISO3166-1 | |
| IpCity | String | ||
| IpRegion | String | ||
| IpDistrict | String | ||
| IpLatitude | String | ||
| IpLongitude | String | ||
| Issuer | String | - | |
| IssuerBankCountry | String(2) | ISO3166-1 | |
| Description | String | ||
| AuthCode | String | ||
| Data | Json | , | |
| Token | String | ||
| PaymentMethod | String | (, T-Pay) | |
| Rrn | String | , |
JSON- code:
{"code":0}
:
| 0 |
Refund
, ( ) API .
, :
JSON- code:
{"code":0}
:
| 0 |
Recurrent
, .
, Recurrent- ., :
JSON- code:
{"code":0}
:
| 0 |
Cancel
, API .
, :
| TransactionId | Long | ||
| Amount | Number, , | ||
| DateTime | yyyy-MM-dd HH:mm:ss | / UTC | |
| InvoiceId | String | ||
| AccountId | String | ||
| String | |||
| Data | Json | , | |
| Rrn | String | , |
JSON- code:
{"code":0}
:
| 0 |
check, pay, fail, confirm, cancel, refund recurrent 2 HTTP- X-Content-HMAC Content-HMAC, , HMAC. , URL decoded ( encoded) , URL encoded , . , , . , .
, :
- , POST, . GET ;
- HMAC UTF8;
- SHA256;
- API Secret, ;
- base64.
HMAC .
, 185.98.81.0/28, 87.251.91.160/27, 46.46.175.96/27, 46.46.168.160/27, 162.55.174.97/32 91.216.178.243/32.
SSL3. 8 2020 ., :
- Pay/Check/Fail/Confirm/Refund/Recurrent/Cancel , ;
- , https . SSL3, TLS 1.1. TLS 1.3. http-.
SSL3. 8 https- , SSL3, .
T-Pay
CloudPayments T-Pay. -, - .
T-Pay SDK. CloudPayments, .
. :
. QrUrl URL- .
, URL-.
https://api.cloudpayments.ru/payments/qr/tinkoffpay/link
| publicId | String | , | |
| Amount | decimal | C , . 2 | |
| Currency | string | : RUB (. ) | |
| Scheme | enum string | (. ). : 0 - 1 - |
|
| Browser | string | userAgent . : Chrome, Firefox, MIUI Browser, Opera |
|
| Os | string | . : Android, iOS, Windows |
|
| Webview | bool | webview. : true - webview false - webview |
|
| Device | enum string | . : MobileApp - DesktopWeb - Mobile - |
|
| SuccessRedirectUrl | string | Url . , . |
|
| FailRedirectUrl | string | Url . , . |
|
| IpAddress | string | IP- | |
| AccountId | string | ||
| string | |||
| InvoiceId | string | ||
| Description | string | ||
| JsonData | json | , , - cloudpayments. , : name, firstName, middleName, lastName, nick, phone, address, comment, birthDate |
|
| TtlMinutes | int | QR- / . , 24 . : - 0 . - , null. |
|
| SaveCard | bool | (. ()). : true - , false - (-) SaveCard " " . " ", SaveCard . |
JSON :
- success ;
- message ;
- model .
:
- :
- success false
- message
- :
- success false
- model
- :
- success true
- model
{
"Amount" : "10",
"AccountId": "someId",
"InvoiceId": 12345,
"Browser" : "Chrome",
"Currency" : "RUB",
"Device" : "Mobile",
"Description" : " T-Pay",
"Email" : "email@email.com",
"IpAddress": "123.123.123.123",
"Os" : "Android",
"Scheme" : 1,
"TtlMinutes" : 30,
"SuccessRedirectUrl" : "https://cp.ru",
"FailRedirectUrl" : "https://cp.ru",
"Webview" : false
}
{
"Model": {
"QrUrl": "{URL-}", // url-
"QrImage": null,
"TransactionId": 11122233344, // id CloudPayments
"MerchantOrderId": "12345", // InvoiceId
"ProviderQrId": "",
"Amount": 10,
"Message": "Created",
"IsTest": false
},
"Success": true,
"Message": null
}
QR-
QR- .
QrImage QR- imageSVG . base64.
https://api.cloudpayments.ru/payments/qr/tinkoffpay/image
{
"Model": {
"QrUrl": null,
"QrImage": {string}, // svg base64
"TransactionId": 11122233344, // id CloudPayments
"MerchantOrderId": "12345", // InvoiceId
"ProviderQrId": "",
"Amount": 10,
"Message": "Created",
"IsTest": false
},
"Success": true,
"Message": null
}
CloudPayments . .
. QrUrl
URL- .
, URL-.
https://api.cloudpayments.ru/payments/qr/sbp/link
| PublicId | String | , | |
| Amount | Decimal | C , . 2 | |
| Currency | String | : RUB (. ) | |
| Description | String | ||
| AccountId | String | , | |
| String | E-mail , | ||
| JsonData | Json | , , - cloudpayments. , : name, firstName, middleName, lastName, nick, phone, address, comment, birthDate |
|
| InvoiceId | String | / . Check- |
|
| Scheme | Enum String | (. ). : charge - |
|
| SuccessRedirectUrl | String | Url . , . 1024 , ASCII RFC-3986. |
|
| IpAddress | String | IP- | |
| Os | String | . : Android, iOS, Windows |
|
| Webview | Bool | webview. : true - webview false - webview |
|
| Device | String | . : MobileApp - DesktopWeb - Mobile - |
|
| Browser | String | userAgent . : Chrome, Firefox, MIUI Browser, Opera |
|
| TtlMinutes | Int | , QR- / . - "1". - "129 600" (90 ). , 72 . |
|
| SaveCard | Bool | ||
| IsTest | Bool |
JSON :
- success ;
- message ;
- model .
:
- :
- success false
- message
- :
- success false
- model
- :
- success true
- model
{
"PublicId": "test_api_00000000000000000000002",
"Amount": 1000,
"Currency": "RUB",
"Description": " ",
"AccountId": "email@email.com",
"Email": "email@email.com",
"InvoiceId": "order_no4009",
"Scheme": "charge",
"SuccessRedirectUrl": "https://cp.ru",
"SaveCard": false
}
{
"Model": {
"QrUrl": "{URL-}", // url-
"QrImage": null,
"TransactionId": 11122233344, // id CloudPayments
"MerchantOrderId": "12345", // InvoiceId
"ProviderQrId": "BB1S004HCK9PFD0F996RJI3208UE", // id QR-
"Amount": 10,
"Message": "Created",
"IsTest": false
},
"Success": true,
"Message": null
}
QR-
QR- . QrImage QR- imagePNG . base64.
, URL-. QR .
https://api.cloudpayments.ru/payments/qr/sbp/image
{
"Model": {
"QrUrl": null,
"QrImage": {string}, // png base64
"TransactionId": 11122233344, // id CloudPayments
"MerchantOrderId": "12345", // InvoiceId
"ProviderQrId": "BB1S004HCK9PFD0F996RJI3208UE", // id QR-
"Amount": 10,
"Message": "Created",
"IsTest": false
},
"Success": true,
"Message": null
}
() . API .
https://api.cloudpayments.ru/sbp/v2/banks/info
| AccountId | string | ||
| IsRenewSubscription | boolean | ||
| JsonData | string | JSON | |
| Platform | string | (desktop, ios, android) | |
| PublicTerminalId | string | ||
| SaveCard | boolean | ||
| Token | string |
{
"PublicTerminalId": "pk_1234567890abcdef",
"Platform": "ios"
}
| Success | boolean | |
| Message | string | (null ) |
| Model | List | |
| Model.Source | string | |
| Model.Version | string | |
| Model.Members | List | |
| Model.Members.Id | string | |
| Model.Members.Name | string | / |
| Model.Members.Logo | string | URL |
| Model.Members.Url | string | URL - |
{
"Success": true,
"Message": null,
"Model": [
{
"Source": "widget",
"Version": "2.0",
"Members": [
{
"id": "100000000111",
"logo": "https://qr.nspk.ru/proxyapp/logo/bank100000000111.png",
"name": "",
"url": "bank100000000111://qr.nspk.ru/{QRC_ID}{QUERY_STRING}"
},
{
"id": "100000000004",
"logo": "https://qr.nspk.ru/proxyapp/logo/bank100000000004.png",
"name": "-",
"url": "https://www.tinkoff.ru/mybank/payments/qr-pay/{QRC_ID}{QUERY_STRING}"
},
{
"id": "100000000005",
"logo": "https://qr.nspk.ru/proxyapp/logo/bank100000000005.png",
"name": " ",
"url": "https://online.vtb.ru/i/paymentSbp/{QRC_ID}{QUERY_STRING}"
}
]
}
]
}
- - . API. .
. (/) Refund- , .
- - .
, PaymentMethod ( Sbp)
Check-, Check QR/ .
, .
POST: /sbp/v2/banks/info Model.Members
CloudPayments API .
:
- CloudPayments;
- ;
- .
:
- ;
- ( CloudPayments):
- ( 24 );
- .
:
- 3 , .
- , POST /sbp/v2/banks/info.
- :
- ( 3) .
- , .
POST /sbp/v2/banks/info, - Model.Members.logo
POST /sbp/v2/banks/info, - Model.Members.Name
:
- POST /payments/qr/sbp/link, -
Model.QrUrl; - POST /sbp/v2/banks/info, -
Model.Members.url; - :
- :
{QRC_ID}{QUERY_STRING};
- :
- :
- query- ;
:
- :
https://qr.nspk.ru/AD1000XXXXX1000?type=02&bank=100000000004&sum=1299900&cur=RUB&crc=8DA8 - :
https://online.vtb.ru/i/paymentSbp/{QRC_ID}{QUERY_STRING} - :
https://online.vtb.ru/i/paymentSbp/AD1000XXXXX1000?type=02&bank=100000000004&sum=1299900&cur=RUB&crc=8DA8
1 2026
, . .
1 2026 , :
- 120
- ,
1 2027 30 , 1 2028 20 .
20 .
:
- 5 , 20
CloudPayments
CloudPayments 1 2026 . .
2026 0%. .
CloudPayments, .
, .
SberPay
CloudPayments SberPay. , .
. QrUrl
URL- .
, URL-.
HTTP Basic Auth . PublicId .
https://api.cloudpayments.ru/payments/qr/sberpay/link
| PublicId | String | , | |
| Amount | Decimal | C , . 2 | |
| Currency | String | : RUB (. ) | |
| Description | String | ||
| AccountId | String | , | |
| String | E-mail , | ||
| JsonData | Json | , , - cloudpayments. , : name, firstName, middleName, lastName, nick, phone, address, comment, birthDate |
|
| InvoiceId | String | / . Check- |
|
| Scheme | Enum String | (. ). : charge - ; auth - |
|
| SuccessRedirectUrl | String | Url . , . |
|
| IpAddress | String | IP- | |
| Os | String | . : Android, iOS, Windows |
|
| Webview | Bool | webview. : true - webview false - webview |
|
| Device | String | . : MobileApp - DesktopWeb - Mobile - |
|
| Browser | String | userAgent . : Chrome, Firefox, MIUI Browser, Opera |
JSON :
- success ;
- message ;
- model .
:
- :
- success false
- message
- :
- success false
- model
- :
- success true
- model
{
"PublicId": "test_api_00000000000000000000002",
"Amount": 1000,
"Currency": "RUB",
"Description": " SberPay",
"AccountId": "email@email.com",
"Email": "email@email.com",
"InvoiceId": "order_no4009",
"Scheme": "charge",
"SuccessRedirectUrl": "https://cp.ru",
}
{
"Model": {
"QrUrl": "sberpay://invoicing/v2?bankInvoiceId=5628ecb3ef514a48abed24e16f818f03&operationType=Web2App", // url-
"QrImage": null,
"TransactionId": 11122233344, // id CloudPayments
"Amount": 10
},
"Success": true,
"Message": null
}
QR-
QR- . QrImage QR- imageSVG . base64.
HTTP Basic Auth . PublicId .
https://api.cloudpayments.ru/payments/qr/sberpay/image
{
"Model": {
"QrUrl": null,
"QrImage": {string}, // svg base64
"TransactionId": 11122233344, // id CloudPayments
"Amount": 10
},
"Success": true,
"Message": null
}
MIR Pay
MIR Pay . Pay- .
CloudPayments MIR Pay ( ) SDK. .
MIR Pay : , .
MIR Pay
MIR Pay SDK :
- MIR Pay , CloudPayments.
MIR Pay
- CloudPayments, MIR Pay .
- . .
- , CloudPayments.
CloudPayments . , .
. API CloudPayments .
POST /payments/altpay/pay
HTTP Basic Auth . PublicId .
URL: /payments/altpay/pay
METHOD: POST
BODY: .
| PublicId | String | . | pk_0fe1d5c9cb47e8cf8d96102201419 |
|
| AltPayType | String | . "TcsBnplDolyame". |
TcsBnplDolyame |
|
| Amount | Number |
C , . 2. | 1000 |
|
| Scheme | enum String |
(. ). : 0 - ; 1 - |
0 |
|
| InvoiceId | String | / . Check- . |
462651419 |
|
| Description | String | / | https://example.com |
|
| AccountId | String | usermail@example.com |
||
| String | E-mail , | usermail@example.com |
||
| SuccessRedirectUrl | String | https://success-page.ru |
||
| FailRedirectUrl | String | https://fail-page.ru |
||
| JsonData | Json | , json. |
{\"Phone\": \"+71234567890\"} |
|
| CultureName | String | . : "ru-RU", "en-US". (. ). , "ru-RU. |
ru-RU |
RESPONSE:
JSON :
- success ;
- message ;
- model .
:
- :
- success false
- message
- :
- success false
- model
- :
- success true
- model
-
Model.ExtensionData.Link,
-
| Model | Object | ||
| Model.TransactionId | Long | ID | |
| Model.Amount | Number | ||
| Model.IsTest | Bool | ||
| ExtensionData | Object | ||
| ExtensionData.Link |
String | e | |
| Success | Bool | ||
| Message | String | , | |
| ErrorCode | Number | ( ) |
{
"PublicId": "pk_0fe1d5c9cb47e8cf8d96102201419",
"AltPayType": "TcsBnplDolyame",
"Amount": 1000,
"Description": " N",
"AccountId": "email@email.com",
"InvoiceId": "order_no4009",
"CultureName": "ru-RU",
"Scheme": "1",
"SuccessRedirectUrl": "https://success-page.ru",
"FailRedirectUrl": "https://fail-page.ru"
}
{
"Model": {
"TransactionId": 183930901,
"Amount": 1000,
"IsTest": true
},
"ExtensionData": {
"Link": "https://dolyame.ru/form/demoPayment-52030933-b65e-4e5a-acdc/example/example"
},
"Success": true,
"Message": null,
"ErrorCode": null
}
.
., .
:
, , :
- ;
:
- Pay , , https://site.ru/webhooks/cloudpayments/pay;
- JSON-;
- Pay-.
, :
- ;
:
- Check , , https://site.ru/webhooks/cloudpayments/check;
- JSON-;
- Check , , https://site.ru/webhooks/cloudpayments/check;
:
- Pay , , https://site.ru/webhooks/cloudpayments/pay;
- JSON-;
Check Pay-.
-
-, . CloudPayments, QIWI ().
:
this.paySample3 = function () {
var widget = new cp.CloudPayments();
var userInfo = {};
var auto = $('#recurrent-sample-3').is(':checked'); //
if (auto) { //
var accountId = $('#account-sample-3').val();
var date = new Date(); //
date.setMonth(date.getMonth() + 1); //
date.setDate(date.getDate() - 1); //
var recurrent = { interval: 'Month', period: 1, startDate: date }; //
userInfo.accountId = "accountId" // ( )
}
var amount = parseFloat($('#amount-sample-3').val());
widget.start({
publicTerminalId: 'test_api_00000000000000000000002', //id
description: ' ' + accountId, //
paymentSchema: "Single" //
amount: amount, //
currency: 'RUB', //
recurrent: recurrent
userInfo: userInfo
},
function (options) { // success
//
},
function (reason, options) { // fail
//
});
};
$('#checkout-sample-3').click(paySample3);
. , , , e-mail Pay-.
:
this.paySample4 = function () {
var widget = new cp.CloudPayments();
var userInfo = { //
name: $('#name-sample-4').val(),
lastName: $('#lastName-sample-4').val(),
phone: $('#phone-sample-4').val(),
accountId = $('#email-sample-4').val(); // ( )
};
var recurrent = {};
var auto = $('#recurrent-sample-4').is(':checked'); //
if (auto) { //
recurrent = { interval: 'Month', period: 1 } //
}
var amount = parseFloat($('#amount-sample-4').val());
widget.start({
publicTerminalId: 'test_api_00000000000000000000002', //id
description: ' ...', //
amount: amount, //
currency: 'RUB', //
email: userInfo.accountId,
userInfo: userInfo,
recurrent: recurrent
},
function (options) { // success
//
},
function (reason, options) { // fail
//
});
};
$('#checkout-sample-4').click(paySample4);
, , :
- .
- , , .
- - 1 .
- API Pay- .
3-D Secure, :
- .
- , .
, ( 4 ), . Pay- API.
AccountId.
- .
- .
, .
- , .
PCI DSS
PCI DSS , Visa Mastercard. , . .
. , . , , . , , , , . , .
CVV2/CVC2 ( 3 ). , ( 6 4 ) , .
PCI DSS CloudPayments
CloudPayments - PCI DSS, 6 . .
CloudPayments , . .
Checkout. : .
Checkout
Checkout , iframe , . , , PCI DSS. , . (ASV) , PCI.
ASV-
ASV- . , , XSS, SQL Injections , , .
Checkout, , SDK, .
, PCI.
- -
54-
54- " - " 03.07.2016 - ( .. ) - () .
-
CloudPayments " " - -, 54- :
- -, ;
- ;
- ;
- ;
- .
- 24/7, , . , , , "" .
-
.
- CloudKassir / .
- :
- CloudKassir;
- ;
- : ;
- - CloudKassir.
.
-
receipt, .
ustomerReceipt API CloudKassir CloudKassir.
json :
var receipt = {
Items: [
{
label: "", // -
price: 500, // -
quantity: 1, // -
amount: 500, // (price x quantity) -
vat: 20, // - ,
},
{
label: "", //,
price: 500, // ,
quantity: 1, // ,
amount: 500, // (price x quantity),
vat : 20, // ,
}
],
amounts : {
electronic: 1000 //
}
};
const intentParams = {
publicTerminalId: "test_api_00000000000000000000002", //
description: "Basket of oranges", //
paymentSchema: 'Single', //
currency: "RUB", //
amount: 1000, //
receipt: receipt
}
widget.start(intentParams).then(function(widgetResult) {
console.log('result', widgetResult);
}).catch(function(error) {
console.log('error', error);
});
var receipt = {
Items: [
{
id: "some_id_1", // id
// label: "", // - ,
// price: 500, // ,
// quantity: 1, // ,
amount: 500, // (items.price x items.count) -
vat: 20, // - ,
},
{
id: "some_id_2", // id
// label: "", //, ,
// price: 500, // ,
// quantity: 1, // ,
amount: 500, // (items.price x items.count) -
vat : 20, // ,
}
],
amounts : {
electronic: 1000 //
}
};
var items = [
{
id: "some_id_1",
count: 1,
name: "",
price: 500,
},
{
id: "some_id_2",
count: 1,
name: "",
price: 500,
},
],
const intentParams = {
publicTerminalId: "test_api_00000000000000000000002", //
description: "Basket of oranges", //
paymentSchema: 'Single', //
currency: "RUB", //
amount: 1000, //
receipt: receipt,
items: items
}
widget.start(intentParams).then(function(widgetResult) {
console.log('result', widgetResult);
}).catch(function(error) {
console.log('error', error);
});
- ;
- ;
- ;
- ;
- 128 , ;
- , ;
- ;
- , .
- , , , , API .
-
e-mail , Viber, WhatsApp, Telegram . CloudPayments , e-mail , Receipt.
. .
-
. - -.
, .
:
| Visa 3-D Secure | 4242 4242 4242 4242 | ||
| Mastercard 3-D Secure | 5555 5555 5555 4444 | ||
| 3-D Secure | 2200 0000 0000 0004 | ||
| Visa 3-D Secure | 4012 8888 8888 1881 | ||
| Mastercard 3-D Secure | 5105 1051 0510 5100 | ||
| 3-D Secure | 2202 2022 0220 2200 | ||
| Visa 3-D Secure | 4000 0000 0000 3055 | ||
| Mastercard 3-D Secure | 5205 0000 0000 3055 | ||
| 3-D Secure | 2202 0000 0000 3055 | ||
| Visa 3-D Secure | 4111 1111 1111 1111 | ||
| Mastercard 3-D Secure | 5200 8282 8282 8210 | ||
| 3-D Secure | 2200 0000 2222 2222 | ||
| Visa 3-D Secure | 4000 0566 5566 5556 | ||
| Mastercard 3-D Secure | 5404 0000 0000 0043 | ||
| 3-D Secure | 2203 0000 0000 0043 |
-
.
| MSK | ru-RU | |
| CET | en-US | |
| ALMT | kk-KZ |
, .
Fail- API., API CardHolderMessage.
| 5001 | Refer To Card Issuer | - | |
| 5003 | Invalid Merchant | - | |
| 5004 | Pick Up Card | ||
| 5005 | Do Not Honor | - CVV Mastercard; - , ; - ; - - 3DS. |
|
| 5006 | Error | CVV- | |
| 5007 | Pick Up Card Special Conditions | ||
| 5012 | Invalid Transaction | - | , |
| 5013 | Amount Error | ||
| 5014 | Invalid Card Number | ||
| 5015 | No Such Issuer | ||
| 5017 | Customer Cancellation | ||
| 5019 | Transaction Error | - CVV Mastercard; - , ; - ; - - 3DS. |
|
| 5030 | Format Error | ||
| 5031 | Bank Not Supported By Switch | ||
| 5033 | Expired Card Pickup | ||
| 5034 | Suspected Fraud | ||
| 5036 | Restricted Card | . | |
| 5041 | Lost Card | ||
| 5043 | Stolen Card | ||
| 5051 | Insufficient Funds | ||
| 5054 | Expired Card | ||
| 5055 | Invalid PIN | PIN- | |
| 5057 | Transaction Not Permitted | , ; ; - 3DS. |
|
| 5058 | Transaction Not Permitted To Card | ||
| 5059 | Suspected Fraud Decline | ||
| 5061 | Exceeds Approval Amount | . | |
| 5062 | Restricted Card 2 | . | |
| 5063 | Security Violation | - | |
| 5065 | Exceed Withdrawal Frequency | ||
| 5082 | Incorrect CVV | CVV- | CVV |
| 5091 | Timeout | ||
| 5092 | Cannot Reach Network | ||
| 5096 | System Error | - | |
| 5113 | Gateways do not support the currently selected payment card | ||
| 5204 | Unable To Process | ||
| 5206 | Authentication failed | 3-D Secure | |
| 5207 | Authentication unavailable | 3-D Secure | |
| 5300 | Anti Fraud | ||
| 5303 | Acquirer Terminal Limits Exceeded | ||
| 5761 | No Phone | ||
| 5762 | Invalid Phone | ||
| 5763 | Different Phones | ||
| 6001 | SaveCardRefused | ||
| 6002 | InvalidErrorCode | code | |
| 6003 | AgentIdNotExists | agentId | |
| 6004 | CurrencyNotValid | {currency} |
|
| 6005 | InvalidPaymentLink | ||
| 6006 | AmountCurrencyNotValid | amount currency qrcType = 01 | |
| 6007 | InvalidRedirectUrl | redirectUrl | |
| 6008 | InvalidParamsId | paramsId | |
| 6009 | InvalidTtl | qrTtl | |
| 6010 | SubscriptionNotFound | ||
| 6011 | InvalidSubscription | ||
| 6013 | InvalidRefund | , , - agentRefundRequestId | |
| 6014 | OriginalDetailsIncorrect | C2B | |
| 6015 | TransactionNotFound | ||
| 6016 | InvalidMemberId | memberId | |
| 6017 | IncorrectMCCategory | ||
| 6021 | Receiver Account Error | ||
| 6022 | Receiver Name Error | . | |
| 6025 | CrossTerminalTokenRestriction |
5005 Do Not Honor
5057 Transaction Not Permitted
5003 Invalid Merchant
5017 Customer Cancellation
5033 Expired Card Pickup
5034 Suspected Fraud
5001 Refer To Card Issuer
5012 Invalid Transaction
2- 24- (). , .
5055 Invalid PIN
5063 Security Violation
5014 Invalid Card Number
5030 Format Error
5013 Amount Error
5054 Expired Card
5065 Exceed Withdrawal Frequency
5096 System Error
5051 Insufficient Funds
check
, ..
| Payment | |
| Refund | |
| CardPayout |
, .
| AwaitingAuthentication | 3-D Secure | ||
| Authorized | , | ||
| Completed | |||
| Cancelled | |||
| Declined | ( ..) |
()
, .
| Active | |||
| PastDue | |||
| Cancelled | |||
| Rejected | , | ||
| Expired | ( ) |
, , , 54 .
currency API.
| RUB | |
| EUR | |
| USD | |
| GBP | |
| UAH | |
| ( 1 2016) | BYR |
| BYN | |
| KZT | |
| AZN | |
| CHF | |
| CZK | |
| CAD | |
| PLN | |
| SEK | |
| TRY | |
| CNY | |
| INR | |
| BRL | |
| ZAR | |
| UZS | |
| BGN | |
| RON | |
| AUD | |
| HKD | |
| GEL | |
| KGS | |
| AMD | |
| AED |
, support@cp.ru, .
, , ., -.
| PeterService | |
| FirstOfd | |
| Taxcom | |
| PlatformaOfd | |
| OfdYa | - |
| OfdYandex | |
| Garantexpress | |
| OfdAstralNalog | |
| Sbis | "", |
.
| HST | (UTC-10:00) |
| AKST | (UTC-09:00) |
| PST | (UTC-08:00) ( ) |
| MST | (UTC-07:00) ( ) |
| CST | (UTC-06:00) ( ) |
| EST | (UTC-05:00) ( ) |
| AST | (UTC-04:00) () |
| BRT | (UTC-03:00) |
| UTC | (UTC) UTC |
| GMT | (UTC) , , , |
| CET | (UTC+01:00) , , , , , |
| CET | (UTC+01:00) , , , , |
| CET | (UTC+01:00) , , , |
| CET | (UTC+01:00) , , , |
| EET | (UTC+02:00) , |
| EET | (UTC+02:00) , , , , , |
| EET | (UTC+02:00) |
| EET | (UTC+02:00) (RTZ 1) |
| MSK | (UTC+03:00) , , - (RTZ 2) |
| MSK | (UTC+03:00) |
| AZT | (UTC+04:00) |
| AMT | (UTC+04:00) |
| SAMT | (UTC+04:00) , (RTZ 3) |
| GET | (UTC+04:00) |
| TJT | (UTC+05:00) , |
| YEKT | (UTC+05:00) (RTZ 4) |
| ALMT | (UTC+06:00) , |
| NOVT | (UTC+06:00) (RTZ 5) |
| KRAT | (UTC+07:00) (RTZ 6) |
| HKT | (UTC+08:00) , , , |
| IRKT | (UTC+08:00) (RTZ 7) |
| SGT | (UTC+08:00) -, |
| ULAT | (UTC+08:00) - |
| YAKT | (UTC+09:00) (RTZ 8) |
| VLAT | (UTC+10:00) , (RTZ 9) |
| SAKT | (UTC+11:00) (RTZ 10) |
| ANAT | (UTC+12:00) , - (RTZ 11) |
.
| Check | Check |
| Pay | Pay |
| Fail | Fail |
| Confirm | Confirm |
| Refund | Refund |
| Recurrent | Recurrent |
| Cancel | Cancel |
[]