> **Description:** Visual walkthrough of the payment source update flow for PSPs using card passthrough with the Recurring API.

> **AI agent:** Read [https://developer.vippsmobilepay.com/docs/knowledge-base/ai-tools.md](https://developer.vippsmobilepay.com/docs/knowledge-base/ai-tools.md) first. It covers keeping API keys and secrets out of generated code.

> **Full site overview:** For an overview of the entire site, read [https://developer.vippsmobilepay.com/llms.txt](https://developer.vippsmobilepay.com/llms.txt).

# How payment source updates work for PSPs

A walkthrough of what happens when a user changes the card attached to an existing agreement.

## Details

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](https://developer.vippsmobilepay.com/docs/APIs/psp-recurring-api/how-it-works/agreement-sign-up.md#5-vipps-mobilepay-sends-the-card-token-to-the-psp) in agreement sign-up -- no
action is needed from the merchant's website.

## Sequence diagram

PSP merchant payment source update flow

```mermaid
sequenceDiagram
    autonumber
    participant PSP
    participant VM as Vipps MobilePay
    actor User

    User->>VM: Initiates payment source change on agreement
    activate VM
    VM->>PSP: POST cardCallbackUrl (new card token)
    PSP->>PSP: Process verification payment
    PSP-->>VM: 200 OK
    VM-->>User: Update Ok
    deactivate VM
```

  User initiates a payment source change on their agreement with Vipps MobilePay.
  Vipps MobilePay posts the new card token to the PSP's cardCallbackUrl.
  PSP processes a verification payment using the new token.
  PSP returns 200 OK to Vipps MobilePay.
  Vipps MobilePay notifies the user that the update was successful.

## More information

For technical details, see the
[Recurring PSP API guide](https://developer.vippsmobilepay.com/docs/APIs/psp-recurring-api/recurring-psp-api-guide.md#payment-source-update).
