billing
POST /v1/payment-methods/paypal/confirm
Finish saving a PayPal account after the buyer approved it.
Doğrulama
API açarını bearer token kimi göndərin. Bu səhifə spresifikasiyada xüsusi icazə tələb etmir, buna görə də açarınıza ehtiyac duyduğu minimum səviyyədə icazə verin və güman etmək əvəzinə cavabı yoxlayın.
Təşkilatınızın identifikatorunun yerləşdiyi yer
Bu son nöqtə JSON gövdəsində sahə kimi org_id qəbul edir.
Təşkilatınızın identifikatoru idarə panelinizdəki API açarları ekranında, açarın özünün yanında yerləşir. Bu, etdiyiniz hər bir sorğuda eyni identifikatordur.
Sınaqdan keçir
Bucaqlı mötərizələrdə olan hór şeyi öz qiymətlərinizlə, açar yertutucusunu isə idarə panelinizdən bir açarla əvəz edin.
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> }'Sistemə daxil olmusunuz? İdarə panelinizdəki API konsolu real təşkilatınızın identifikatorunu və öz açarınızı avtomatik doldurur, sorğunu canlı API-yə qarşı icra edir ki, siz faktiki cavabı görə biləsiniz. Bu son nöqtəni API konsolunda açın
Təfərrüatlar
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.
Sorğu gövdəsi
| Ad | Tip | Tələb olunur | Nədir |
|---|---|---|---|
setup_token_id | string | Bəli | The setup_token_id returned by POST /v1/payment-methods/paypal. |
org_id | string | Xeyr | 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. |
Cavab
| Ad | Tip | Tələb olunur | Nədir |
|---|---|---|---|
id | string | Bəli | — |
gateway | string<stripe, paypal> | Bəli | 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). |
status | string<pending, active, expired, revoked> | Bəli | Only active is chargeable; pending means the gateway has not confirmed it yet. |
role | string<, primary, backup> | Bəli | 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_by | string<, subscription, adhoc_charge, reseller_programme> | Bəli | 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_type | string | Bəli | 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_renew | boolean | Bəli | 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… |
brand | string | Bəli | — |
last4 | string | Bəli | — |
exp_month | integer | Xeyr | — |
exp_year | integer | Xeyr | — |
holder_name | string | Xeyr | — |
confirmed_at | string | Xeyr | When the gateway confirmed the mandate. Null while pending. |
created_at | string | Bəli | — |
Bu son nöqtənin qaytara biləcəyi xətalar
401 · 403 · 409 · 422 · 429 · 503