Skip to main content
Work in progress

Recurring API card passthrough for PSPs is in development and targeted for Q2/Q3 2026.

How the Recurring PSP API works

How subscription agreement sign-up and charging work for PSPs using card passthrough with the Recurring API.

There are three main flows: agreement sign-up, charge creation, and payment source update.

Agreement sign-up​

Fixed price payment agreement in Vipps

1. Customer selects a subscription​

On the merchant's website or app, the customer chooses to subscribe and pay with Vipps or MobilePay.

2. The PSP drafts an agreement​

The PSP drafts an agreement with POST:/recurring/v3/agreements, including the cardPassthrough object with a cardCallbackUrl. An optional initialCharge sets the upfront payment amount — if omitted, a zero-amount verification is performed instead. See Agreement sign-up for the full request details.

3. Customer opens the Vipps or MobilePay app​

If the agreement was initiated on a mobile device, the Vipps Vipps or MobilePay MobilePay app opens automatically.

If initiated on a desktop device, the landing page opens. The customer enters their phone number and the agreement request is sent to their phone.

4. Customer selects a card and approves the agreement​

The customer reviews the agreement terms, selects a card stored in their Vipps Vipps or MobilePay MobilePay app, and confirms.

5. Vipps MobilePay sends the card token to the PSP​

Vipps MobilePay posts the card token to the PSP's cardCallbackUrl. The PSP processes the CIT (Customer-Initiated Transaction) and responds within 20 seconds to confirm the agreement. See Card callback.

6. The customer is redirected and the agreement is active​

The customer is redirected to the merchant's merchantRedirectUrl and sees a confirmation. The PSP can now start creating charges according to the agreement terms.


Charge creation​

Charge creation is PSP-initiated — there is no user interaction. The PSP creates a charge against an active agreement, receives the card token directly in the response, processes the payment, and updates the charge status.

  1. The PSP creates a charge with POST:/recurring/v3/agreements/{agreementId}/charges, including the Psp-Id header.
  2. Vipps MobilePay returns the card token in the response.
  3. The PSP processes the payment using its own acquiring infrastructure.
  4. The PSP updates the charge status (capture, refund, or cancel) to keep Vipps MobilePay in sync.

See Charge creation for the full request details.


Payment source update​

When a user changes their card on an existing agreement in the app, Vipps MobilePay sends a zero-amount CIT to the PSP's cardCallbackUrl to verify the new card. The flow is identical to the card callback in agreement sign-up — no action is needed from the merchant's website.


More information​