Перейти к содержанию

Выплата средств

Транзакция выплаты денег на карту по ее номеру.

Info

Ваш банк-эквайер может устанавливать ограничения и лимиты на использование этого типа транзакции. Больше информации вы можете узнать у вашего менеджера.


Запрос

Отправьте POST запрос на https://demo-gateway.begateway.com/transactions/payouts со следующими параметрами:

Note

Тело запроса должно быть обёрнуто в корневой объект request{}.

amount
обязательный
bigInteger
Стоимость в минимальных денежных единицах. Например, $32.45 должна быть отправлена как 3245.
currency
обязательный
string
Валюта в ISO-4217 формате, например USD.
description
обязательный
string (255)
Описание выплаты.
tracking_id
string
Ваш внутренний ID операции. Максимальная длина: 255 символов. Пожалуйста, используйте уникальное значение для того, чтобы при запросе статуса транзакции получить актуальную информацию. В противном случае вы получите массив данных по 10 последним транзакциям, найденным по указанному tracking_id. В параметре может быть отправлено несколько значений, разделенных символом ;. Например: "cbe59142-90af-4aea-b5a5-5bf3f66cf3da;f7883cb9-0e26-43a7-beb7-4027cb55d1a6;4a6a89d5-6950-400f". Если в запросе было передано более одного значения tracking_id, поиск транзакции в личном кабинете может быть осуществлен по любому из них.
duplicate_check
boolean
Параметр управляет процессом проверки входящего запроса на уникальность. Если в течение 30 секунд придет запрос на выплату средств с одинаковыми amount и number или token, то запрос будет отклонен. По умолчанию, этот параметр имеет значение true.
language
string
Язык вашей страницы оформления заказа. Если параметр установлен и email уведомление о транзакции включено, то Demo PSP отправит email, язык текста которого будет language. По умолчанию - en. Доступные значения параметра language.
notification_url
string
URL, на который будут приходить уведомления. Формат запроса уведомления аналогичен формату ответа транзакции.
verification_url
string
URL, на который будут приходить запрос на подтверждение транзакции. Формат запроса на подтверждение аналогичен формату ответа транзакции.
test
boolean
Транзакция будет тестовой, если значение true.
object
number
обязательный
string (19)
Номер карты.
holder
условно обязательный
string (32)
Имя владельца карты.
exp_month
условно обязательный
string (2)
Месяц окончания срока действия карты, представленный двумя цифрами (например, 01).
exp_year
условно обязательный
string (4)
Год срока окончания действия карты, представленный четырьмя цифрами (например, 2027).
token
условно обязательный
string
Вместо 4 параметров выше вы можете отправить токен карты. Для получения токена платежа отправьте запрос токенизации карты получателя. Также токен можно получить в ответе на запрос выплаты, если заполнить параметр additional_data.contract, например, "additional_data.contract": ["card_on_file"]
object
Данные о получателе. Узнайте у службы поддержки, должны ли вы отправлять эти данные.
ip
условно обязательный
string
IP-адрес получателя, которому производится выплата.
email
условно обязательный
string
Email получателя, которому производится выплата.
device_id
условно обязательный
string
ID устройства получателя, которому производится выплата.
birth_date
условно обязательный
string
Дата рождения получателя в формате ISO 8601 YYYY-MM-DD.
taxpayer_id
условно обязательный
string
Идентификационный номер налогоплательщика (ИНН), присвоенный получателю выплаты.
external_id
string (255)
Идентификатор покупателя в системе торговца.
object
Узнайте у службы поддержки, должны ли вы отправлять эти данные.
ip
условно обязательный
string
IP-адрес отправителя.
email
условно обязательный
string
Email отправителя.
device_id
условно обязательный
string
Id устройства отправителя.
birth_date
условно обязательный
string
Дата рождения отправителя в формате ISO 8601 YYYY-MM-DD.
object
Узнайте у службы поддержки, должны ли вы отправлять эти данные.
first_name
условно обязательный
string (30)
Имя получателя.
last_name
условно обязательный
string (30)
Фамилия получателя.
country
условно обязательный
string
Страна получателя в ISO 3166-1 alpha-2 формате.
city
условно обязательный
string (60)
Город получателя.
state
условно обязательный
string
Двухбуквенная аббревиатура штата, если страна получателя IN, US или CA.
zip
условно обязательный
string
Почтовый индекс получателя. Для country=US, формат почтового индекса Должен иметь вид NNNNN или NNNNN-NNNN.
address
условно обязательный
string (255)
Адрес получателя.
phone
условно обязательный
string (100)
Номер телефона получателя.
object
Узнайте у службы поддержки, должны ли вы отправлять эти данные.
first_name
условно обязательный
string (30)
Имя отправителя.
last_name
условно обязательный
string (30)
Фамилия отправителя.
country
условно обязательный
string
Страна отправителя в формате ISO 3166-1 alpha-2.
city
условно обязательный
string (60)
Город отправителя.
state
условно обязательный
string
Двухбуквенная аббревиатура штата, если страна отправителя IN, US или CA.
zip
условно обязательный
string
Почтовый индекс отправителя. Для country=US, формат почтового индекса должен иметь вид NNNNN или NNNNN-NNNN.
address
условно обязательный
string (255)
Адрес отправителя.
phone
условно обязательный
string (100)
Номер телефона отправителя.
object
Cекция, содержащая дополнительную информацию о транзакции.
expected_bank_code
string
В этом поле можно отправить код ошибки обработки транзакции, который будет возвращён в ответе в параметре code. Также параметры message и friendly_message будут содержать сообщения, соответствующие указанному коду ошибки. Данная логика работает только для тестовых транзакций.
object
Секция для работы с OCT транзакциями.
service_id
условно обязательный
string
Значение параметра уточните у вашего менеджера.
service_extension
условно обязательный
string
Значение параметра уточните у вашего менеджера.
условно обязательный
object
Узнайте у службы поддержки, должны ли вы отправлять эти данные.
type
условно обязательный
string
Тип документа отправителя. Возможные значения:

PASSPORT - паспорт гражданина
ID - ID-карта.
issuer
условно обязательный
string
Кем выдан документ отправителя.
series
условно обязательный
string
Серия документа отправителя.
number
условно обязательный
string
Номер документа отправителя.
issued_at
условно обязательный
string
Дата начала действия документа отправителя. Формат YYYY-MM-DD.
valid_until
условно обязательный
string
Дата окончания срока действия документа отправителя. Формат YYYY-MM-DD.
Пример запроса
{
  "request": {
    "amount": 100,
    "currency": "USD",
    "description": "Test transaction ütf",
    "tracking_id": "tracking_id_000",
    "recipient": {
      "ip": "127.0.0.1",
      "email": "john@example.com",
      "birth_date": "1990-10-20"
    },
    "sender": {
      "ip": "127.0.0.1",
      "email": "john@example.com",
      "birth_date": "1990-10-20"
    },
    "recipient_billing_address": {
      "first_name": "John",
      "last_name": "Doe",
      "country": "US",
      "city": "Denver",
      "state": "CO",
      "zip": "96002",
      "address": "1st Street",
      "phone": "375444444444"
    },
    "sender_billing_address": {
      "first_name": "John",
      "last_name": "Doe",
      "country": "US",
      "city": "Denver",
      "state": "CO",
      "zip": "96002",
      "address": "1st Street",
      "phone": "375444444444"
    },
    "recipient_credit_card": {
      "number": "5555555555554444",
      "holder": "John Doe",
      "exp_month": "12",
      "exp_year": "2027"
    },
    "additional_data": {
      "document": {
        "type": "PASSPORT",
        "issuer": "Organization name",
        "series": "MP",
        "number": "1234567890",
        "issued_at": "2010-03-12",
        "valid_until": "2025-03-12"
      },
      "contract": ["card_on_file"]
    }
  }
}
Пример запроса с токеном карты
{
  "request": {
    "amount": 100,
    "currency": "USD",
    "description": "Test transaction ütf",
    "tracking_id": "tracking_id_000",
    "recipient": {
      "ip": "127.0.0.1",
      "email": "john@example.com",
      "birth_date": "1990-10-20"
    },
    "sender": {
      "ip": "127.0.0.1",
      "email": "john@example.com",
      "birth_date": "1990-10-20"
    },
    "recipient_billing_address": {
      "first_name": "John",
      "last_name": "Doe",
      "country": "US",
      "city": "Denver",
      "state": "CO",
      "zip": "96002",
      "address": "1st Street",
      "phone": "375444444444"
    },
    "sender_billing_address": {
      "first_name": "John",
      "last_name": "Doe",
      "country": "US",
      "city": "Denver",
      "state": "CO",
      "zip": "96002",
      "address": "1st Street",
      "phone": "375444444444"
    },
    "recipient_credit_card": {
      "token": "b4469f38-cec7-4f55-a86d-2ab2dc300e0b"
    },
    "additional_data": {
      "document": {
        "type": "PASSPORT",
        "issuer": "Organization name",
        "series": "MP",
        "number": "1234567890",
        "issued_at": "2010-03-12",
        "valid_until": "2025-03-12"
      }
    }
  }
}
Ответ

Ответ будет содержать те же параметры, что и запрос, а также дополнительные параметры:

object
uid
обязательный
string
UID обработанной транзакции.
code
обязательный
string
Код обработки транзакции.
friendly_message
обязательный
string
Сообщение для покупателя с описанием кода ошибки из параметра code.
status
обязательный
string
Статус обработанной транзакции.
message
обязательный
string
Сообщение с результатом запроса, соответствующее коду ошибки обработки транзакции (code).
type
обязательный
string
Тип транзакции.
tracking_id
обязательный
string
Значение параметра tracking_id из запроса.
language
обязательный
string
Значение параметра language из запроса или en, если параметр не был передан.
redirect_url
обязательный
string
URL страницы эквайера, на который требуется направить покупателя для завершения операции выплаты средств.
Используется в схеме обработке транзакций с редиректом. Уточните у Службы технической поддержки, работает ли ваш эквайер по такой схеме.
payment_method_type
обязательный
string
Способ оплаты, используемый для завершения транзакции:

credit_card
object
brand
обязательный
string
Определенный бренд карты.
last_4
обязательный
string
Последние 4 цифры карты.
first_1
обязательный
string
Первая цифра карты.
bin
обязательный
string (6)
Шестизначный банковский идентификационный номер. Первые 6 цифр номера карточки.
bin_8
обязательный
string (8)
Восьмизначный банковский идентификационный номер. Первые 8 цифр номера карты. Значение возвращается для карт Visa, Mastercard, Maestro и соответствующих кобрендинговых карт. Для брендов других платежных карт значение параметра – null.
issuer_country
обязательный
string
Страна банка, выпустившего карту.
issuer_name
обязательный
string
Название банка, выпустившего карту.
stamp
обязательный
string
Хэш карты. Постоянная величина, даже если дата окончания действия карты или владелец изменены.
token
обязательный
string
Токен карты. Позволяет сохранять данные покупателей и производить оплату, когда они делают покупку или вы возобновляете свои услуги.
receipt_url
обязательный
string
Ссылка на квитанцию обработанной транзакции
object
auth_code
обязательный
string
Код авторизации.
bank_code
обязательный
string
Код ответа операции в банковской системе.
rrn
обязательный
string
Номер операции в международной платёжной системе. ID транзакции, выданный сетью обработки карт.
ref_id
обязательный
string
Номер операции в системе банка.
message
обязательный
string
Сообщение от системы банка.
status
обязательный
string
Статус обработанной банком-эквайером транзакции.
Пример ответа
{      
  "uid": "8f2b4e0e-b6e6-41d7-970a-5a506519aa0c",
  "code": "S.0000",
  "friendly_message": "The operation is successful.",
  "status": "successful",
  "amount": 100,
  "currency": "USD",
  "description": "Test transaction ütf",
  "type": "payout",
  "tracking_id": "tracking_id_000",
  "message": "Successfully processed",
  "test": true,
  "created_at": "2024-04-02T14:57:57.638Z",
  "updated_at": "2024-04-02T14:58:04.211Z",
  "paid_at": "2024-04-02T14:58:04.172Z",
  "manually_corrected_at": null,
  "language": "en",
  "redirect_url": "https://demo-gateway.begateway.com/process/8f2b4e0e-b6e6-41d7-970a-5a506519aa0c",
  "status_code": null,
  "customer": {
    "ip": "127.0.0.1",
    "email": "john@example.com",
    "device_id": null,
    "birth_date": "1990-10-20",
    "first_name": "John",
    "last_name": "Doe",
    "address": "1st Street",
    "country": "US",
    "city": "Denver",
    "zip": "96002",
    "state": "CO",
    "phone": "375444444444"
  },
  "recipient": {
    "customer": {
      "first_name": "John",
      "last_name": "Doe",
      "address": "1st Street",
      "country": "US",
      "city": "Denver",
      "zip": "96002",
      "state": "CO",
      "phone": "375444444444"
    },
    "payment_method": {
      "holder": null,
      "stamp": "b3839d334ba40e89168d60cd9f9d1390aee3fe67dd4d5c41adbf3998043eaef8",
      "brand": "visa",
      "last_4": "0000",
      "first_1": "4",
      "bin": "420000",
      "bin_8": "42000000",
      "issuer_country": "US",
      "issuer_name": "VISA Demo Bank",
      "product": "F",
      "exp_month": null,
      "exp_year": null,
      "token_provider": null,
      "token": null,
      "type": "credit_card"
    }
  },
  "links": {
    "receipt_url": "https://demo-backoffice.begateway.com/customer/transactions/8f2b4e0e-b6e6-41d7-970a-5a506519aa0c/ef2a8781b3f5de417df0826fc8e371ffd621134b81435f8e2ab02d7123055a89?language=en"
  },
  "smart_routing_verification": {
    "status": "successful"
  },
  "transaction": {
    "auth_code": "654321",
    "bank_code": "00",
    "rrn": "123456789102",
    "ref_id": "777888",
    "message": "Payout was approved",
    "amount": 100,
    "currency": "USD",
    "billing_descriptor": "test descriptor",
    "gateway_id": 3483,
    "status": "successful"
  }      
}