Secure Card on File
Secure Card on File – это технология Mastercard, предназначенная для защиты информации о карте и обеспечивающая хранение данных карты в зашифрованном виде.
Оплата с данными, полученными от Mastercard Checkout Solutions
Запрос
Система bePaid позволяет использовать данные, полученные от Mastercard Checkout Solutions, для проведения транзакций типа оплата и авторизация.
Для того, чтобы совершить платёж и получить результат транзакции, выполните следующие шаги:
1) Отправьте в Mastercard запрос /transaction/credentials и получите ответ в следующем формате:
Пример ответа на запрос на получение разрешения на проведения платежа по карте от Mastercard Checkout Solutions
{
"checkoutResponseJWS": {
"jose_header": {
"iss": "https://mastercard.com",
"iat": "1741261660",
"alg": "RS256",
"jti": "94bffd13-05a8-48ba-9das8-5b32655c20bd",
"kid": "20230207164613-sandbox-payload-verification-src-mastercard-int"
},
"jws_payload": {
"srcCorrelationId": "4f339be7.93b322d9-410e-4c18-b786-67953c02e46d",
"srciTransactionId": "0f4678fc-e64a-4aa6-ba7e-1cf08d7e0ce9",
"encryptedPayload": "eyJraWQiOiJkZWZhdWx0c2FuZGJveGVuY3J5cHRpb25rZXkiLCJlbmMiOiJBMTI4R0NNIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.LZtIYNW5QKkUaswvWlqfHWyVl3zKkKDL29Nmh075tseSXCpIflkkCfKeCaxOB0Yd9Lu5QT-gbMcnd762YbMi4H7GEynUFi0eezsT3c8niVl8pbYfgC1Ca27uV0fQCgJrYBfbM4zngReO7llG3h3m7iE84ysUJA0aI23kMdKjFFoPc1bWoQaHP2YLnHJLnk3nVmrOkNQ47GQVTSvjxdoqhXEt9XaDIgPspORJH26F-7wCmLlwXiUCrlZoI4HL4tn29AteeK4IAOcIhZk2PevtvIADMBvRtnLepFagnDQZc5AQFgXGhqhPxQiX6doJQCQSfCySsIdBnaqT65FkY7Pz8w.X94aTGhYhBCqqAXh.UhSK0KDnCuxIKETH5mPxjlYujEPf2-DKSPHxffccrhqKjWxQBbZZGmhhcz_E2eWmqYWhT1qBe0btj7LumuGHgcenmpL9sdzinDFzBvNDm8XugvCxzAtphefF9wfbyhCP2jU08c16Zo3owjCo28M5niLgxBEuc9hqEYwLal87S6_QRobsCpeZR4JxgCKA9vL8lYHBvaOQeJ2ySWmPFR4p_QxQU62g1zbSdzbgBp3_oOlZ9v3Siz0hTL6-OF28E0WzY7-XWigg8RKau892RrwxhPIWCVADYsqgzAJefYw8w1Q84OGM6mdhcdTbkaEigdzvAhzzKLh18o9bleaSwY8VErA1dR0sHY9rjMln8hQw8gMBSrH9uzziLPCIOwRChQOpUF3zIO3bf9fV6NWqPQDr8gmCFXfHxhgIg--jmTAsZfsJ4A.tbIdSzyODxbul1WQtADDtw",
"maskedCard": {
"srcDigitalCardId": "_YdW8-8cQhm2c3V8aHsoKQ000000000000US",
"panBin": "518600",
"panLastFour": "9726",
"digitalCardData": {
"status": "ACTIVE",
"presentationName": "Bank",
"descriptorName": "MasterCard Test Bank",
"artUri": "https://sbx.assets.mastercard.com/card-art/combined-image-asset/HIGH-MASK-3x.png"
},
"panExpirationMonth": "12",
"panExpirationYear": "2025",
"maskedBillingAddress": {
"addressId": "b90ecb38-897d-4f95-ab43-155658918a96",
"name": "J*** D**",
"line1": "1** 5** A*****",
"line2": "F**** 1*",
"city": "New York City",
"state": "NY",
"countryCode": "US",
"zip": "10011",
"createTime": "2025-03-04T11:58:03.275Z"
},
"dcf": {
"applicationType": "WEB_BROWSER",
"uri": "https://stage.src.mastercard.com/pay/",
"logoUri": "http://mastercard.com/",
"name": "mastercard"
},
"dateOfCardCreated": "2024-06-21T13:44:44.117Z"
},
"maskedConsumer": {
"srcConsumerId": "54f2a842-223f-4212-9fa4-5ff133ef16b6",
"maskedConsumerIdentity": {
"identityProvider": "SRC",
"identityType": "EMAIL_ADDRESS",
"maskedIdentityValue": "j*****7@dummyemail.com"
},
"maskedEmailAddress": "j*****7@dummyemail.com",
"maskedMobileNumber": {
"countryCode": "1",
"phoneNumber": "(***) ***-*895"
},
"maskedNationalIdentifier": "*********",
"countryCode": "US",
"languageCode": "EN",
"maskedFirstName": "j***",
"maskedLastName": "d**",
"maskedFullName": "j*** d**",
"dateConsumerAdded": "2025-03-06T11:44:28.176Z"
},
"shippingAddressZip": "10011",
"shippingCountryCode": "US",
"assuranceData": {
"verificationData": [
{
"verificationType": "CARDHOLDER",
"verificationEntity": "03",
"verificationMethod": "01",
"verificationResults": "03",
"verificationTimestamp": "1725371879",
"verificationEvents": [
"02"
]
}
],
"eci": "06"
}
},
"jws_signature": "eyJraWiOiIxNDkwNjQtc3RnLXNyYy1mcGFuLWVuY3J5…."
}
}
2) Отправьте полученный ответ как значение параметра request.credit_card.token в запросе на оплату или авторизацию. Токен должен иметь следующий формат: $begateway_scof_decrypted_1_0_0$<base64_Mastercard Checkout Solutions Response_here>, где <base64_Mastercard Checkout Solutions Response_here> – это JSON, полученный торговцем в ответ на запрос на получение разрешения на проведения платежа по карте, в Base64-strict формате.
Пример запроса
{
"request":{
"amount":100,
"currency":"USD",
"description":"SCOF test transaction",
"tracking_id":"your_unique_number",
"credit_card":{
"token": "$begateway_scof_decrypted_1_0_0$fn5anNvbgp7CiAgInZQYXltZW50RGF0YUlEIjogIjU0ZGYwMTI0NDhlM2E0MTFiM2Y3MTRiZDU2ZDhlYjAyIiwKICAiY3J5cHRvZ3JhbUluZm8iOiB7CiAgICAiY3J5cHRvZ3JhbSI6ICJbRklMVEVSRURdIiwKICAgICJlY2kiOiAiMDciLAogICAgImF0YyI6ICIzMTQwMiIKICB9LAogICJwYXltZW50SW5zdHJ1bWVudCI6IHsKICAgICJsYXN0NCI6ICIwMDQ0IiwKICAgICJwYXltZW50VHlwZSI6IHsKICAgICAgImNhcmRCcmFuZCI6ICJWSVNBIgogICAgfSwKICAgICJwYXltZW50QWNjb3VudFJlZmVyZW5jZSI6ICJWMDAxMDAxMzAyMDMxNTUxMzk0MjQyMDg4Mzk3NCIKICB9LAogICJ0b2tlbkluZm8iOiB7CiAgICAiZW5jVG9rZW5JbmZvIjogImV5SmhiR2NpT2lKQk1qVTJSME5OUzFjaUxDSnBkaUk2SW1wcVUydHlaVmhoVm1Od2NrSmlYMmtpTENKMFlXY2lPaUpvTVZBeVpVaHlRMTh6V1daaWVIUlJNbE5RYWtGM0lpd2laVzVqSWpvaVFUSTFOa2REVFNJc0luUjVjQ0k2SWtwUFUwVWlMQ0pyYVdRaU9pSTNVRTgwVDFoUVZFaEpTMWN6UWpOSk1VZFRUekV6TVdVNU1HVlpjQzFzVUV4dFpYUm1TWEJQYlZsdFZuZGZURFZKSWl3aVkyaGhibTVsYkZObFkzVnlhWFI1UTI5dWRHVjRkQ0k2SWxOSVFWSkZSRjlUUlVOU1JWUWlMQ0pwWVhRaU9pSXhOak13TURZMk5EUTJJbjAuRlktQUFfNjU4Zmh6cWs1dzZqb2xRY1BNXzlKVWZaYTJWLW5kM2NvWmw3US56d3JzRlRPallGTXpDcTgxLmlJZ09ueGZDWTU1bjJlRzZ3cG82ajlVUFlvWEpMYTNINFo5MnVnLkZOR195dUdGbnpfV2lEM0poTFNXU1EiLAogICAgImxhc3Q0IjogIjA4ODciLAogICAgImV4cGlyYXRpb25EYXRlIjogewogICAgICAibW9udGgiOiAiMTIiLAogICAgICAieWVhciI6ICIyMDIyIgogICAgfSwKICAgICJkZWNUb2tlbkluZm8iOiB7CiAgICAgICJ0b2tlbiI6ICI0eHh4eDA4ODciCiAgICB9CiAgfQp9Cn5+fg=="
}
}
}
Ответ
Ответ на запрос оплаты с данными Mastercard Checkout Solutions будет возвращен синхронно с его статусом и будет полностью соответствовать ответам транзакций оплаты или авторизации.
Ошибки
Пример ответа при неверном формате токена
{
"status": "error",
"code": "E.1030",
"message": "Invalid payment data",
"friendly_message": "Недействительный платежный токен. Невозможно получить платежные данные по токену"
}