billing

POST /v1/payment-methods/paypal/confirm

Finish saving a PayPal account after the buyer approved it.

Все эндпоинты billing

Вся документация для разработчиков

Аутентификация

Передайте API-ключ в качестве маркера носителя (bearer token). Эта конечная точка не указывает конкретное разрешение в спецификации, поэтому предоставьте своему ключу минимум необходимых прав и проверьте ответ, вместо того чтобы делать предположения.

Идентификатор вашей организации

Этот эндпоинт принимает org_id в качестве поля в теле JSON.

Идентификатор вашей организации находится на экране ключей API в вашей панели управления, рядом с самим ключом. Это один и тот же идентификатор для каждого вашего запроса.

Попробовать

Замените всё в угловых скобках на собственные значения, а плейсхолдер ключа — на ключ из вашей панели управления.

curl -X POST https://api.zinndigital.com/v1/payment-methods/paypal/confirm \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "setup_token_id": <string> }'

Вошли в систему? Консоль API в вашей панели управления автоматически подставляет реальный идентификатор вашей организации и ваш собственный ключ, а также выполняет запрос к работающему API, чтобы вы могли увидеть актуальный ответ. Откройте эту конечную точку в API-консоли

Подробнее

Exchanges an approved setup token for the permanent vault token and stores the mandate. The organization is read from PayPal's answer and must match the caller's, so a setup token belonging to another account cannot be attached here. Idempotent, and it deliberately races PayPal's VAULT.PAYMENT-TOKEN.CREATED webhook: whichever arrives first writes the mandate and the other converges on it, so a buyer whose browser never returns still ends up with a saved method.

Тело запроса

ИмяТипОбязательноЧто это
setup_token_idstringДаThe setup_token_id returned by POST /v1/payment-methods/paypal.
org_idstringНетOrganization to attach the mandate to. The caller must hold billing.payment.manage in that organization, and PayPal's own answer must name the same organization.

Ответ

ИмяТипОбязательноЧто это
idstringДа
gatewaystring<stripe, paypal>ДаThe rail holding the mandate. Crypto (NOWPayments) is absent by design — it has no mandate primitive, so those customers are invoiced ahead rather than rebilled (ADR 0011 §6).
statusstring<pending, active, expired, revoked>ДаOnly active is chargeable; pending means the gateway has not confirmed it yet.
rolestring<, primary, backup>ДаWhich job this mandate does for the organisation. primary is charged first; backup is charged immediately if the primary declines; "" is simply stored. ⛔ Replaced…
removal_blocked_bystring<, subscription, adhoc_charge, reseller_programme>ДаEmpty when this method may be removed. Otherwise the obligation that keeps the floor binding: this is the account's last operational way to pay and the named thing is still…
method_typestringДаThe gateway's own name for what kind of mandate this is — Stripe's PaymentMethod.type (card, sepa_debit, klarna, kakao_pay, …). Empty on a rail that does not type its…
can_auto_renewbooleanДаWhether this mandate can be charged off-session, i.e. whether a renewal can be taken without the customer present. false means the subscription renews manually: the…
brandstringДа
last4stringДа
exp_monthintegerНет
exp_yearintegerНет
holder_namestringНет
confirmed_atstringНетWhen the gateway confirmed the mandate. Null while pending.
created_atstringДа

Ошибки, которые может возвращать этот эндпоинт

401 · 403 · 409 · 422 · 429 · 503