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.
type PaymentMethodBase = {
id: string;
type: "autogiro" | "swish" | "stripe" | "adyen";
inserted_at: string;
updated_at: string;
};
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.
Payern har status "pending"
tills Bankgirot har behandlat medgivandet. Godkänner Bankgirot medgivandet kommer
payer.updated
med status "active".
Avvisar Bankgirot det kommer
payer.updated
med status "rejected".
Se Payer.
Inkluderas när
payment_method_type
är "swish".
type SwishPaymentMethod = PaymentMethodBase & {
type: "swish";
consent_id: string;
alias: string;
status: string;
activated_at: string | null;
};
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;
};
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.
Repejo sparar inte heller betalmetoden. Ni får
stored_payment_method_id
bara i de webhooks som skickas när givaren tecknar gåvan:
subscription.created
och, om gåvan tecknades i en betalsession,
payment_session.succeeded
och payment_session.finalized.
Spara det då. I senare händelser är värdet null. Har ni tappat
det kan ni hämta det från Adyen med shopper_reference.
De två fälten är Adyens egna, under våra namn.
shopper_reference
är det shopperReference
vi skickade till Adyen, och det är alltid givarens
payer.id
(till exempel "pay_2bQ8xK…").
Vi skickar det på varje betalning, även en engångsgåva. En engångsgåva har
inget payment_method-objekt,
så para ihop Adyens egen notifiering med våra webhooks på payer.id,
som alltid finns med.
stored_payment_method_id
är Adyens additionalData.recurring.recurringDetailReference.
payment_method.id
är Repejos id för betalmetoden och börjar alltid med
apm_
(till exempel "apm_4Xk9Tq…").
type AdyenPaymentMethod = PaymentMethodBase & {
type: "adyen";
stored_payment_method_id: string | null;
shopper_reference: string;
};
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.