Skip to main content
Skapa eller uppdatera en betalningssession för en Pending-order. Betalningsåtgärden kommer att kontakta betalningskanalen och kan ändra orderstatusen; innan anropet måste order-ID, belopp och betalningsmetod bekräftas.

Gränssnittsöversikt

Gränser för anonym betalning

Anonym åtkomst används för scenarier där inloggningssessionen går förlorad efter att en kopierad betalningslänk öppnas, och behöver inte och bör inte bära en långvarig Account Token. Anonyma anrop:
  • tillåter endast hanterade omdirigeringsbetalningsmetoder som konfigurerats på serversidan;
  • använder alltid betalningssidan för datorer;
  • kan inte hämta ordrar med nollpris;
  • begränsas av IP och per enskild order;
  • returnerar en minimal orderprojektion, utan konto, Application eller intern metadata.
Autentiserade anropare måste vara orderägaren eller superadministratören. Metoder som X402 och belöningsinlösen som kräver användarkontext kan inte anropas anonymt.

Begäransexempel

Betalningsmetoder som kräver autentisering:
pay_way använder verkliga värden som stöds av ordermodellen, till exempel WechatPay, AliPay, Stripe, Card, Airwallex, X402, PayPal, AppleIAP, Reward, BankTransfer. Inte alla värden är tillgängliga för anonyma begäranden eller på varje webbplats.

Svarsbeskrivning

Ett lyckat svar är det uppdaterade orderobjektet, som vanligtvis tillhandahåller nästa steg via pay_url; olika betalningsmetoder kan också returnera information i kontrollerade fält som klienten behöver för att fortsätta betalningen. Anonyma svar använder en minimal fältvitlista, medan autentiserade ägare får fullständig information. Förlita dig inte på gamla fältnamn som payment_url, qr_code_url eller payment_method; det aktuella Order-kontraktet använder pay_url och pay_way.

iOS-köp i appen

Den inloggade orderägaren kan skicka pay_way: "AppleIAP". Denna begäran uppdaterar den väntande betalningsordern enligt den valda planens metadata.apple_price och rensar rabatten, utför ingen debitering, delar inte ut krediter och returnerar inte heller någon betalningslänk. Gamla väntande betalningsordrar bör först slutföra detta steg och därefter initiera Apples inbyggda betalning. Endast en Usage-plan med en konfigurerad Apple-produkt och ett pris stöds; planer eller batchordrar som inte stöds returnerar 400. Efter Apples inbyggda betalning skickas transaction_id via /api/v1/orders/{id}/apple-verify/ för att slutföra verifiering på serversidan och utdelning av krediter. Antalet krediter kommer från planen; beloppet använder Apples separata förinställda pris i USD, utan medlemsrabatter eller webbplatsprispåslag, och det lokala debiteringsbeloppet i andra regioner är enligt Apples bekräftelsesida.

Fel och återförsök

  • Ordern är inte Pending: returnerar 400; skapa inte betalningssessionen upprepade gånger.
  • pay_way har inte angetts: ordrar med belopp över noll returnerar 400.
  • Ett anonymt anrop använder en otillåten metod eller en order med nollpris: returnerar 403, logga in och försök igen som ägaren.
  • Autentiserad men inte orderägaren: returnerar 403.
  • Betalningskanalen misslyckas: skicka inte in igen blint; hämta först orderinformationen, bekräfta att den fortfarande är Pending och försök sedan igen.

Relaterade gränssnitt