Проверка
Проверяет данные транзакции в соответствии с правилами: white и black списки, величина лимитов, лимит по скорости и обработка ограничений (например, блокировка карт с определенными BIN).
Запрос
Отправьте POST
запрос на https://gateway.bepaid.by/transactions/checkups
со следующими параметрами:
Параметр | Тип | Описание |
---|---|---|
amount * обязательный |
integer | Стоимость в минимальных денежных единицах. Например, $32.45 должна быть отправлена как 3245 . |
currency * обязательный |
string | Валюта в ISO-4217 формате, например USD . |
description * обязательный |
string (255) | Описание заказа. |
tracking_id * обязательный |
string (255) | ID транзакции или заказа в вашей системе. Пожалуйста, используйте уникальное значение для того, чтобы при запросе статуса транзакции получить актуальную информацию. В противном случае вы получите первую найденную по tracking_id транзакцию. |
duplicate_check | boolean | Параметр управляет процессом проверки входящего запроса на уникальность. Если в течение 30 секунд придет запрос на проверку с одинаковыми amount и number или token , то запрос будет отклонен. По умолчанию, этот параметр имеет значение true . |
language | string | Язык страницы оформления заказа. Если параметр установлен и email уведомление о транзакции включено, bePaid отправит email, локалью которого будет language . По умолчанию - en . Допустимые значения: en - Английский es - Испанский tr - Турецкий de - Немецкий it - Итальянский ru - Русский zh - Китайский fr - Французскийda - Датский sv - Шведский no - Норвежский fi - Финский pl - Польский ja - Японскийbe - Белорусскийuk - Украинский ka - Грузинский ro - Румынский |
notification_url | string | URL, на который будут приходить уведомления. Формат запроса уведомления аналогичен формату ответа транзакции. |
verification_url | string | URL, на который будут приходить запрос на подтверждение транзакции. Формат запроса на подтверждение аналогичен формату ответа транзакции. |
test | boolean | Транзакция тестовая, если значение true . |
credit_card | object | |
number * обязательный |
string (19) | Номер карты. |
holder * обязательный |
string (32) | Имя владельца карты. |
exp_month * обязательный |
integer | Месяц окончания срока действия карты, представленный двумя цифрами (например, 01). |
exp_year * обязательный |
integer | Год срока окончания действия карты, представленный четырьмя цифрами (например, 2007). |
token * условно обязательный |
string | Вместо 5 параметров выше вы можете отправить токен карты, который вы получили в ответе первой оплаты. |
customer * условно обязательный |
object | Секция информации о покупателе. Уточните у Службы технической поддержки, необходимо ли передавать параметры данной секции. |
ip | string | IP-адрес клиента, производящего оплату в вашем магазине. |
string | email клиента, производящего оплату в вашем магазине. | |
billing_address | object | |
first_name * условно обязательный |
string (30) | Имя клиента. |
last_name * условно обязательный |
string (30) | Фамилия клиента. |
country * условно обязательный |
string | Страна клиента в ISO 3166-1 alpha-2 формате. |
city * условно обязательный |
string (60) | Город клиента. Максимальная длина: 60 символов. |
state * условно обязательный |
string | Двухбуквенная абревиатура штата, если страна клиента US или CA . |
zip | string | Почтовый индекс клиента. Для country=US , формат почтового индекса должен иметь вид NNNNN или NNNNN-NNNN. |
address * условно обязательный |
string (255) | Адрес клиента. |
phone * условно обязательный |
string (100) | Номер телефона клиента. |
Пример запроса
{
"request":{
"amount":100,
"currency":"USD",
"description":"Test transaction",
"tracking_id":"your_uniq_number",
"language":"en",
"billing_address":{
"first_name":"John",
"last_name":"Doe",
"country":"US",
"city":"Denver",
"state":"CO",
"zip":"96002",
"address":"1st Street"
},
"credit_card":{
"number":"4200000000000000",
"holder":"John Doe",
"exp_month":"05",
"exp_year":"2020"
},
"customer":{
"ip":"127.0.0.1",
"email":"john@example.com"
}
}
}
Пример запроса с токеном карты
{
"request":{
"amount":100,
"currency":"USD",
"description":"Test transaction",
"tracking_id":"your_uniq_number",
"billing_address":{
"first_name":"John",
"last_name":"Doe",
"country":"US",
"city":"Denver",
"state":"CO",
"zip":"96002",
"address":"1st Street"
},
"credit_card":{
"token":"40bd001563085fc35165329ea1ff5c5ecbdbbeef40bd001563085fc35165329e"
},
"customer":{
"ip":"127.0.0.1",
"email":"john@example.com"
}
}
}
Ответ
Параметры ответа копируют параметры запроса за исключением дополнительных:
Параметр | Тип | Описание |
---|---|---|
transaction | object | |
uid * обязательный |
string | UID обработанной транзакции. |
status * обязательный |
string | Статус обработанной транзакции. |
message * обязательный |
string | Сообщение с результатом запроса. |
type * обязательный |
string | Тип транзакции. |
tracking_id * обязательный |
string | Значение параметра tracking_id из запроса. |
language * обязательный |
string | Значение параметра language из запроса или en , если параметр не был передан. |
test | boolean | Транзакция тестовая, если значение true . |
payment_method_type * обязательный |
string | Способ оплаты, используется для завершения транзакции: credit_card . |
credit_card | object | |
brand * required |
string | Определенный бренд карты: visa , master , jcb , discover , dinersclub , amex , belkart или unionpay . |
last_4 * required |
string | Последние 4 цифры карты. |
first_1 * required |
string | Первая цифра карты. |
stamp * required |
string | Хэш карты. Постоянная величина, даже если дата окончания действия карты или владелец изменены. |
token * required |
string | Токен карты. Позволяет сохранять данные клиентов и производить оплату, когда они делают покупку или вы возобновляете свои услуги. |
receipt_url * обязательный |
string | Ссылка на квитанцию обработанной транзакции. |
be_protected_verification | object | Секция с параметрами проверки beProtected. |
Пример ответа, когда правила для beProtected не установлены
{
"transaction":{
"customer":{
"ip":"127.0.0.1",
"email":"john@example.com"
},
"credit_card":{
"holder":"John Doe",
"stamp":"3709786942408b77017a3aac8390d46d77d181e34554df527a71919a856d0f28",
"token":"40bd001563085fc35165329ea1ff5c5ecbdbbeef40bd001563085fc35165329e",
"brand":"visa",
"last_4":"0000",
"first_1":"4",
"exp_month":5,
"exp_year":2015
},
"receipt_url": "https://merchant.bepaid.by/customer/transactions/4107-310b0da80b/11443f39ae75aa1f955a9c9283cd5045bfb0413b65d666f834a9da4e7d3926b5",
"billing_address":{
"first_name":"John",
"last_name":"Doe",
"address":"1st Street",
"country":"US",
"city":"Denver",
"zip":"96002",
"state":"CO",
"phone":null
},
"be_protected_verification":{
"status":"successful",
"white_black_list":{
"email":"absent",
"ip":"absent",
"card_number":"white"
},
"rules":{
"1_123_My Shop":{},
"1_John Doe":{},
"bePaid":{}
}
},
"uid":"4107-310b0da80b",
"status":"successful",
"message":"Successfully processed",
"amount":100,
"currency":"USD",
"description":"Test order",
"type":"payment",
"tracking_id":"your_uniq_number",
"language":"en",
"test": true
}
}
Пример ответа транзакции, не прошедшей beProtected проверку
{
"transaction":{
"customer":{
"ip":"127.0.0.1",
"email":"john@example.com"
},
"credit_card":{
"holder":"Johnathan Doe",
"stamp":"a825df7faba8804619aef7a6d5a5821ec292fce04e3e43933ca33d0692df90b4",
"brand":"visa",
"last_4":"0000",
"first_1":"4",
"token":"2bbd9fb7307dace37a9c2db1b4cca6f0c0dd143eac17294daab769224bff6ae2",
"exp_month":1,
"exp_year":2020
},
"receipt_url": "https://merchant.bepaid.by/customer/transactions/1-2d4b20c72a/11443f39ae75aa1f955a9c9283cd5045bfb0413b65d666f834a9da4e7d3926b5",
"billing_address":{
"first_name":"John",
"last_name":"Doe",
"address":"1st Street",
"country":"US",
"city":"Denver",
"zip":"96002",
"state":"CO",
"phone":null
},
"be_protected_verification":{
"status":"failed",
"message":"Merchant terminal limits exceeded (maximum transaction amount). Transaction didn't pass anti-fraud checks.",
"limit":{
"volume":false,
"count":false,
"max":true,
"current_volume":100,
"current_count":1
},
"white_black_list":{
"card_number":"black",
"ip":"absent",
"email":"absent"
},
"rules":{
"1_123_My Shop":{
"more_100_eur" : {"Transaction amount more than 100 AND Transaction currency is EUR": "passed"}
},
"1_John Doe":{},
"bePaid":{}
}
},
"uid":"1-2d4b20c72a",
"status":"failed",
"amount":100,
"currency":"USD",
"description":"Test transaction",
"type":"payment",
"tracking_id":"tracking_id_000",
"message":"Merchant terminal limits exceeded (maximum transaction amount). Transaction didn't pass anti-fraud checks.",
"test":true,
"created_at":"2014-06-11T12:05:54+03:00",
"updated_at":"2014-06-11T12:05:54+03:00",
"id":"1-2d4b20c72a"
}
}
Пример ответа транзакции, успешно прошедшей beProtected проверку
{
"transaction":{
"customer":{
"ip":"127.0.0.1",
"email":"john@example.com"
},
"credit_card":{
"holder":"Johnathan Doe",
"stamp":"a825df7faba8804619aef7a6d5a5821ec292fce04e3e43933ca33d0692df90b4",
"brand":"visa",
"last_4":"0000",
"first_1":"4",
"token":"2bbd9fb7307dace37a9c2db1b4cca6f0c0dd143eac17294daab769224bff6ae2",
"exp_month":1,
"exp_year":2020
},
"receipt_url": "https://merchant.bepaid.by/customer/transactions/2-52671c8733/11443f39ae75aa1f955a9c9283cd5045bfb0413b65d666f834a9da4e7d3926b5",
"billing_address":{
"first_name":"John",
"last_name":"Doe",
"address":"1st Street",
"country":"US",
"city":"Denver",
"zip":"96002",
"state":"CO",
"phone":null
},
"be_protected_verification":{
"status":"successful",
"limit":{
"volume":false,
"count":false,
"max":false,
"current_volume":90,
"current_count":1
},
"white_black_list":{
"card_number":"absent",
"ip":"absent",
"email":"absent"
},
"rules":{
"1_123_My Shop":{
"more_100_eur" : {"Transaction amount more than 100 AND Transaction currency is EUR": "passed"}
},
"1_John Doe":{},
"bePaid":{}
}
},
"uid":"2-52671c8733",
"status":"successful",
"amount":90,
"currency":"USD",
"description":"Test transaction",
"type":"payment",
"tracking_id":"tracking_id_000",
"message":"Successfully processed",
"test":true,
"created_at":"2014-06-11T12:04:59+03:00",
"updated_at":"2014-06-11T12:04:59+03:00",
}
}