Yandex Pay в вашем мобильном приложении
Если вы хотите разместить кнопку Yandex Pay для приема платежей в вашем мобильном приложении, вам необходимо выполнить следующее:
1. Зарегиcтрироваться в Yandex Pay. Ознакомиться со списком запрещенных товаров и Правилами оформления бренда при размещении кнопки Yandex Pay.
2. Получить платежный токен Yandex Pay, используя следующие SDK:
-
При интеграции по Yandex Pay Android SDK на Шаге 6. Задайте обработчик кнопки укажите следующие параметры в секции
paymentMethods.card.YPCardPaymentMethod
:Параметр Описание Gateway.from {psp.yandex_pay.gateway_id}
GatewayMerchantID.from ID магазина в системе bePaid. -
При интеграции по Yandex Pay iOS SDK при добавлении кнопки Yandex Pay на экране в Swift или Objective-C проектах укажите следующие параметры в секции
listOf.PaymentMethod
:Параметр Описание gateway {psp.yandex_pay.gateway_id}
gatewayMerchantId ID магазина в системе bePaid.
3. Отправить запрос на проведение транзакции с зашифрованным токеном Yandex Pay.
Запрос
Отправьте запрос оплаты, авторизации или взимания платы, в котором необходимо передать зашифрованный токен Yandex Pay как значение параметра request.credit_card.token
в формате, описанном ниже.
Для рекуррентных платежей или платежей по сохраненной карте, передайте параметр request.additional_data.contract
в запросе оплаты, авторизации или взимания платы, чтобы получить в ответ токен карты для последующих операций оплаты без участия пользователя.
Формат зашифрованного токена Yandex Pay при передаче его в качестве токена карты
Передавайте зашифрованный токен Yandex Pay в запросах в качестве токена карты в формате $begateway_yandex_pay_1_0_0$<base64_PaymentToken_here>
, где:
$begateway_yandex_pay_1_0_0$
- обязательный префикс при передаче зашифрованного токена Yandex Pay;<base64_PaymentToken_here>
- это полученный от Yandex Pay токен в формате JSON, сконвертированный в формат Base64.
Пример структуры зашифрованного токена Payment Token сервиса Yandex Pay
{
"type":"Yandex",
"signedMessage":"{\"encryptedMessage\":\"3EIGHhaRWlLBY3CQ4+hMWfbiE8vDLy2vwG5VkY5XgILaq5Vjh/MED5XO1w6KwWnQiT3TJDV5rj/ixLHzPjpN4eUwkaQTgwUcFGYSCbwu4paBhuaOlYKvx3UhxlGs+sWfCxlJHawFWlEcX254u/4yc45CnIAmaJLGR7RLvAX66VOiCO/GpeqPZXpctRzj068TThESmRKv/2Vb9S54CRID1Z0+QIamZIwoKhkEt99F0EXwnfKdlzakpL+N4i99X3EkavQA2Im3lFJ6C9MvIKqahnNF9E89MIAigsnYZ+/Zu7QvtfAe1mVbLDMGJRFqk7NYF0Q/XXrwajJCMFcCvTNkSXh0WmyWI7Fa9r1+EydJmaou1XTo/RUvvbfJ3l7asepcvFcs7wcKUgi9wWGKe9td0ny4EqzVi++hm/ZiJhcSknQBwsNBSHOy7aJZVoxI5DUL7gEV7X3KAS0Q\",\"tag\":\"nPCkBdXgdvb+VhTSM5Rc9QdvEpPFd1mNtSyE0cWCuZU=\",\"ephemeralPublicKey\":\"BFig2qqGHsX/LA6GrFbHcG83eLjTAiBkTTkJe5lki37WMMZUJjfT8tTLOd+vhRmkIru4hcMRfpxfER13WIhNayE=\"}",
"protocolVersion":"ECv2",
"signature":"MEUCIQDOBSSB1yFm3E9gM1kTp3CHMkhHM1g4dsYKo9/TXiEhmwIgSMCp2t1tCorBjhGw1k9Ev9tw4IyKVUrMAbJnfAg0Ng0=",
"intermediateSigningKey":{
"signedKey":"{\"keyValue\":\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEqYNePt6BPgCv5JxfO9dF2vrSqmnp4Mhe/vF+XO+Devbs6/KVpVVoTD8LLcAo4TZh6IuODVnVpHrTObhg3HJVJA==\",\"keyExpiration\":\"1764950892000\"}",
"signatures":[
"MEQCIDRslMW7wNZbpqVw/dD7hDQh30hGhqfjfWTBvc7zAYJSAiAGAvjAslA2AxwdAEuOfacFr6DaE5yiiUuUtM6DUreZYg=="
]
}
}
Пример запроса оплаты с зашифрованным токеном Yandex Pay
{
"request": {
"amount": 100,
"currency": "RUB",
"description": "Yandex Pay test transaction",
"tracking_id": "Your unique ID",
"credit_card": {
"token": "$begateway_yandex_pay_1_0_0$eyJ0eXBlIjoiWWFuZGV4Iiwic2lnbmVkTWVzc2FnZSI6IntcImVuY3J5cHRlZE1lc3NhZ2VcIjpcInExNHBnMzNWQlV6NW9WTE1vN2R6WVFHcDNRb2h3MGY5dWtqN0dOV2w4VXVZL2hwQ0cwaDUxOHVPVjBCSzJ6TXJEZDI2YXR5TFJReWtMeWdyZ2tIWS80SXJhSWFTV29wYVN1a0h5dkJhZ3RSdENqbWwvSXJJK2dhdVNwSXRnL3ZWY2FXdkJLcnhzbzlaQkd5SWlqeGI0TzRwUGtna3BEc1g3NTZuSjVGTlAxelhKNnFLSUFWemtxb1JHWS9aOVBXZ2Ryd3IvMjdyWi9iRzNCT2RIOUtKVFpkNDV5MVhlWEhaYWZ4K3lzSjhsclVEUlpsWmFwZUlSYTNLbDZ2ekhiTkpRak42RjNJWkYxL2g5Q3FwcFQ5VDJ1VWpVb29PQ1hERVVmMUZjNTc0SHJ3eW82SDBTaWpFQnRocHluUWxMai80cUdlSjFudWlpYTRuRUVxNGtRYTIzMU94UWNyREFMa29rKzBvZjl1T0tTOTZEN1N6Qzh6OUdPRm9Za01uZHJON0dzTGJyRUY4a3d2a1lkU1dCMWxlY0tIcGFxWVpUZmZRTXNCMzhRUHFqN2tGaWZtNGJhSE5LMSsxUlY5MmFzdmErMGs5WFRBS1dXa2NTTm1tb0pweWNLc2IxcjJoTHcxQk1MczFJZlVFVm9zVzRsdUkweDRNZUxZWFFzdGY3eUoxdC9ZdzhEQm1kQ3ZmSGxRS2Z5STdSMUJUT2wxVUdtQkgycEloRVRVTXlRPT1cIixcInRhZ1wiOlwiL3N4NFgxSktvL1Q4SjhmMXp0dTZzN3hyRVdiNW9XTG5kczJjVXJ1d1l6VT1cIixcImVwaGVtZXJhbFB1YmxpY0tleVwiOlwiQkxGQWdtVGJHTWxJRXdZQzUyQU1JOGVpVG5ua2NsVzZ2a3lYdmlBcHkyVjYzNHp0cGVRdW5oS1liMnNkY1Z3bkpPY0hQVWlYZGZFb0hqVk9GQ3Bhc1BvPVwifSIsInByb3RvY29sVmVyc2lvbiI6IkVDdjIiLCJzaWduYXR1cmUiOiJNRVlDSVFDUUVIanRxSDBVb2MyTVVUNHR6YjZ3K2dJczBLRm5OY29sZlo3enYwWFBzd0loQU05ZHFVb1hqNXJwY1M5ZTdaYzZIekRwZVllK0hCNC9XMW5mdVBrb0lPZWgiLCJpbnRlcm1lZGlhdGVTaWduaW5nS2V5Ijp7InNpZ25lZEtleSI6IntcImtleVZhbHVlXCI6XCJNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVxWU5lUHQ2QlBnQ3Y1SnhmTzlkRjJ2clNxbW5wNE1oZS92RitYTytEZXZiczYvS1ZwVlZvVEQ4TExjQW80VFpoNkl1T0RWblZwSHJUT2JoZzNISlZKQT09XCIsXCJrZXlFeHBpcmF0aW9uXCI6XCIxNzY0OTUwODkyMDAwXCJ9Iiwic2lnbmF0dXJlcyI6WyJNRVFDSURSc2xNVzd3TlpicHFWdy9kRDdoRFFoMzBoR2hxZmpmV1RCdmM3ekFZSlNBaUFHQXZqQXNsQTJBeHdkQUV1T2ZhY0ZyNkRhRTV5aWlVdVV0TTZEVXJlWllnPT0iXX19"
}
}
}
Ответ
Ответ на запрос оплаты по токену Yandex Pay будет возвращен синхронно с его статусом и будет полностью соответствовать ответам операций оплаты или авторизации.