PaymentMethod

payment_method är ett nestat objekt som inkluderas i webhook-payloads för subscription-events. Objektet innehåller gemensamma fält samt typspecifika fält beroende på betalsätt.

Gemensamma fält

type PaymentMethodBase = {
id: string;
type: "autogiro" | "swish" | "stripe" | "adyen";
inserted_at: string;
updated_at: string;
};

Autogiro

Inkluderas när payment_method_type är "autogiro".

type AutogiroPaymentMethod = PaymentMethodBase & {
type: "autogiro";
payer_number: string;
clearing_number: string;
account_number: string;
personal_identity_number: string;
bank: string | null;
};

Det signerade medgivandet (PDF) och BankID-signaturen (XML) ligger inte i objektet. De hämtas via API:et med länkarna i documents på samma webhook: PDF:erna ägs av prenumerationen (/api/v1/subscriptions/:id/mandate_pdf_masked resp. …_unmasked), XML:en av medgivandet (/api/v1/mandates/:id/signature_xml, där :id är detta objekts id). Se Payment Sessions.

Swish

Inkluderas när payment_method_type är "swish".

type SwishPaymentMethod = PaymentMethodBase & {
type: "swish";
consent_id: string;
alias: string;
status: string;
activated_at: string | null;
};

Stripe

Inkluderas när payment_method_type är "card", "apple_pay", "google_pay" eller "stripe_subscription".

type StripePaymentMethod = PaymentMethodBase & {
type: "stripe";
stripe_payment_method_id: string;
};

Adyen

Inkluderas när organisationen tar betalningen via Adyen. Kort och plånböcker har samma payment_method_type oavsett vem som lagrat dem, så det är payment_method.type som säger om ni fått ett Adyen- eller ett Stripe-objekt. stored_payment_method_id och shopper_reference är de värden Adyen behöver för att dra betalmetoden igen.

Drar ni de löpande perioderna själva heter payment_method_type i stället "card_external", "apple_pay_external" eller "google_pay_external". Repejo drar då aldrig prenumerationen igen.

type AdyenPaymentMethod = PaymentMethodBase & {
type: "adyen";
stored_payment_method_id: string;
shopper_reference: string;
};

Union-typ

type PaymentMethod =
| AutogiroPaymentMethod
| SwishPaymentMethod
| StripePaymentMethod
| AdyenPaymentMethod;

payment_method_type säger vilket betalsätt givaren valde, inte vilken form objektet har. Kort och plånböcker kan ligga hos antingen Stripe eller Adyen med samma payment_method_type, så läs payment_method.type för att veta vilken variant ni får.

payment_method är null om betaluppdraget inte har en kopplad betalmetod.