Бразилия
Оплата через PIX, картой и boleto в BRL
Перед тем как начать
Авторизация
Как подписывать запросы API-токеном.
Создание платежа
Базовый запрос на создание заказа, который расширяет эта страница.
Этот способ оплаты доступен не всем мерчантам. Уточните доступность у вашего менеджера.
Обзор
| Валюта | Код страны | Способы оплаты |
|---|---|---|
BRL | BR | PIX (QR-код) · Карта · Boleto |
В Бразилии доступны три варианта интеграции. Они требуют разные данные плательщика; какой из них включён для вашего аккаунта, определяется настройками терминала.
Не уверены, какой вариант у вас? Уточните у менеджера.
Это схема host-to-host: вы получаете QR-ссылку PIX напрямую из API и отображаете её в собственном интерфейсе.
Запросите QR-ссылку
POST /v1/orders/{orderId}/h2h/pixcurl -X POST "https://api.1capital.capital/v1/orders/{orderId}/h2h/pix" \
-H "Content-Type: application/json" \
-H "X-Api-Token: YOUR_API_TOKEN"QR-ссылка генерируется на стороне провайдера. Установите таймаут запроса от 30 секунд.
Ответ:
{
"qrLink": "https://pix.com.br/..."
}Покажите QR-код
Отобразите qrLink в виде QR-кода или откройте его как ссылку на мобильных устройствах. Плательщик подтверждает перевод в приложении своего банка.
Дождитесь результата
Статус заказа меняется на COMPLETED, когда перевод подтверждён. Вы получаете webhook или можете опрашивать заказ по ID.
Статус заказа и webhook-уведомления
Плательщик перенаправляется на paymentLink и вводит данные карты на платёжной странице. Результат обычно известен сразу; финальный статус приходит webhook-уведомлением.
Документ, email и полный адрес плательщика передаются в объекте customer. Банк проверяет карточный платёж по данным плательщика и без адреса отклоняет его — даже для цифровых товаров. Заказ с недостающими полями, с документом, не прошедшим проверку контрольных цифр, или со штатом не в виде двухбуквенного кода отклоняется с 400.
Передавайте настоящий адрес плательщика: шаблонный или чужой адрес ухудшает антифрод-проверку. Телефон необязателен, но его тоже стоит передавать — некоторые проверки рисков отклоняют плательщика без телефона.
Поля объекта customer
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
document | string | ✅ Да | CPF (11 цифр) или CNPJ (14 цифр) плательщика, с пунктуацией или без |
email | string | ✅ Да | Email плательщика |
postcode | string | ✅ Да | CEP: 8 цифр, с дефисом или без |
street | string | ✅ Да | Улица |
addressNumber | string | ✅ Да | Номер дома |
neighborhood | string | ✅ Да | Район (bairro) |
city | string | ✅ Да | Город |
state | string | ✅ Да | Штат двухбуквенным кодом (SP). Полное название (São Paulo) не принимается |
addressComplement | string | ❌ Нет | Квартира, офис, этаж |
phone | string | ❌ Нет | Телефон с кодом города (DDD): 10–11 цифр, допускается код страны 55. Рекомендуется |
documentType | string | ❌ Нет | CPF или CNPJ. Если передан, должен соответствовать document |
firstName | string | ❌ Нет | Имя. Без имени используется имя с карты |
lastName | string | ❌ Нет | Фамилия |
ip | string | ❌ Нет | IP-адрес плательщика. Рекомендуется: он участвует в антифрод-проверках |
Пример запроса
{
"purpose": "Payment for order #1234",
"amount": "150",
"currency": "BRL",
"externalId": "external_id",
"externalUserId": "external_user_id",
"successUrl": "https://example.com/success",
"failUrl": "https://example.com/fail",
"callbackUrl": "https://example.com/webhooks/payments",
"isFeeOnUser": false,
"customer": {
"firstName": "Ana",
"lastName": "Souza",
"email": "ana.souza@example.com",
"document": "12345678909",
"phone": "11999998888",
"postcode": "01310-100",
"street": "Av. Paulista",
"addressNumber": "1578",
"addressComplement": "Apto 12",
"neighborhood": "Bela Vista",
"city": "São Paulo",
"state": "SP"
}
}Плательщик перенаправляется на paymentLink. Платёжная страница показывает boleto: его номер (linha digitável) с кнопкой копирования, ссылку на PDF и PIX того же boleto как более быстрый способ.
Boleto регистрируется в банке на имя плательщика, поэтому в объекте customer обязательны полные данные плательщика: действительный документ, контакты и полный адрес. Заказ с недостающими или некорректными полями отклоняется с 400.
Передавайте CPF или CNPJ самого плательщика. Документ проверяется по контрольным цифрам, а boleto регистрируется на того, кому этот документ принадлежит.
Поля объекта customer
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
firstName | string | ✅ Да | Имя |
lastName | string | ✅ Да | Фамилия |
document | string | ✅ Да | CPF (11 цифр) или CNPJ (14 цифр) плательщика, с пунктуацией или без |
email | string | ✅ Да | Email плательщика |
phone | string | ✅ Да | Телефон с кодом региона (DDD): 10–11 цифр, код страны 55 допускается |
postcode | string | ✅ Да | CEP: 8 цифр, с дефисом или без |
street | string | ✅ Да | Улица |
addressNumber | string | ✅ Да | Номер дома |
neighborhood | string | ✅ Да | Район (bairro) |
city | string | ✅ Да | Город |
state | string | ✅ Да | Штат: двухбуквенный код (SP) или полное название (São Paulo) |
addressComplement | string | ❌ Нет | Квартира, офис, этаж |
documentType | string | ❌ Нет | CPF или CNPJ. Если передан, должен соответствовать document |
Пример запроса
{
"purpose": "Payment for order #1234",
"amount": "150",
"currency": "BRL",
"externalId": "external_id",
"externalUserId": "external_user_id",
"successUrl": "https://example.com/success",
"failUrl": "https://example.com/fail",
"callbackUrl": "https://example.com/webhooks/payments",
"isFeeOnUser": false,
"customer": {
"firstName": "Maria",
"lastName": "Santos",
"document": "12345678909",
"email": "maria.santos@example.com",
"phone": "11999998888",
"postcode": "01310-100",
"street": "Av. Paulista",
"addressNumber": "1578",
"addressComplement": "Apto 12",
"neighborhood": "Bela Vista",
"city": "São Paulo",
"state": "SP"
}
}Срок оплаты и подтверждение
- Срок оплаты boleto — 3 календарных дня после выпуска, по времени Бразилиа. Заказ остаётся в
PENDINGдо конца дня срока оплаты, затем переходит вEXPIRED. - Оплаченный boleto банк подтверждает примерно за один рабочий день. Оплата по PIX этого boleto подтверждается за секунды.
- Банки принимают boleto ещё некоторое время после срока оплаты. Когда такая оплата подтверждается, истёкший заказ переходит в
COMPLETED, и вы получаете webhook-уведомление.
Ответ
В ответе возвращается стандартный объект заказа. Заказ создаётся со статусом CREATED; перенаправьте плательщика на paymentLink, чтобы он завершил оплату.
Поля объекта заказа
Статусы заказа
| Статус | Финальный | Описание |
|---|---|---|
CREATED | Нет | Заказ создан, платёжная ссылка ещё не открыта |
PENDING | Нет | Ожидает оплаты |
COMPLETED | Да | Платёж успешно завершён, средства получены |
FAILED | Условно | Ошибка оплаты |
CANCELED | Условно | Заказ отменён системой |
EXPIRED | Условно | Срок действия заказа истёк до оплаты |
BLOCKED | Условно | Транзакция заблокирована банком |
REFUND | Да | Платёж возвращён плательщику (например, завершён ваш возврат). Устанавливается после COMPLETED |
CHARGEBACK | Да | Платёж оспорен плательщиком и отменён банком. Устанавливается после COMPLETED |
FAILED, CANCELED, EXPIRED и BLOCKED не являются строго финальными. Если банк позже подтверждает платёж из-за ошибки на своей стороне, заказ переходит в COMPLETED, и webhook-уведомление об этом отправляется автоматически. Будьте готовы получить COMPLETED по заказу, который вы уже отметили как неуспешный.