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