Skip to content

Usage

  1. The customer places an order with Vipps MobilePay. The add-on stores a payment row (reference and Idempotency-Key) before it calls Vipps MobilePay, creates the payment (WEB_REDIRECT) and sends the customer to the returned address exactly as returned. If the create call gets no answer, the payment is looked up by its reference and adopted; it is never created twice.
  2. The customer approves in the Vipps or MobilePay app. On a phone the app opens; on a computer the customer enters the mobile number on the Vipps MobilePay landing page.
  3. The shop learns about the approval from three places: the webhook, the customer’s return (read back three times, 2 seconds apart) and the cron (every run reads open payments not read for a minute).
  4. The order gets Order status after approval only when the read-back says AUTHORIZED, the amount equals the amount created and the order total equals the stored one. The amount is now reserved on the customer’s account.
  5. You capture the money when you ship: when the order reaches the Capture status, right after approval, or by hand (see Capture mode in Configuration).
  6. Refunds go back to the customer from the order page or at the Refund status.

If the customer comes back while Vipps MobilePay has not decided yet, the cart and the saved cart rows are emptied (so the order cannot be paid twice) and the order page is shown with a pending notice. A pending payment is never shown as cancelled or failed. If the customer aborts in the app, or the payment expires or is withdrawn, the order gets Order status when not paid.

Open an order that was paid (or started) with Vipps MobilePay and choose the Vipps MobilePay tab. It lists every attempt with its reference, the PSP reference, the MSN, the status and the amounts Reserved, Captured, Refunded and Released, the Capture guaranteed until date and a table of operations (capture, refund, release) with their status: Sending, Unconfirmed, Done or Failed.

Form What it does
Capture Enter an amount for a partial capture, or leave it empty to capture the rest
Refund Enter an amount for a partial refund, or leave it empty to refund all captured money that is not refunded yet. Only captured money can be refunded. A reason (internal) can be added
Release the reservation Gives the not yet captured amount back to the customer. Vipps MobilePay always releases the whole uncaptured rest, also after a partial capture
Read back Reads the payment from Vipps MobilePay and applies it, for example after an action in the business portal

Actions taken in the business portal (capture, refund) are mirrored by the webhook or by a read-back.

The reservation is guaranteed only until the date shown (captureGuaranteedUntil, between 14 and 180 days according to Vipps MobilePay). The tab highlights the date when it is less than 3 days away, the payments list shows a banner, and the cron writes a warning to the log 3 days ahead. Capture or release before then.

Flag Meaning
Amount mismatch The order total changed while the payment was pending (or the approved amount differs). Not booked: the reservation is released
Duplicate A second approval of an order that is already paid. Not booked: the reservation is released
Order was cancelled The customer approved after you cancelled the order. The order stays cancelled; the reservation is released

Setting an order to the Release status, or to Declined, releases the reserved, not yet captured amount. If the customer has not approved yet, the payment is withdrawn (cancelTransactionOnly), so the app no longer offers it.

  • Each capture, refund and release is a row with its own Idempotency-Key before the call, and the answer’s totals are checked (HTTP status alone is not enough).
  • An operation without a clear answer is never sent blind: the payment is read back first. If the totals show the operation, it is marked done. If not, it is sent again with the same key for up to 24 hours; after that it is closed as “not confirmed, check the business portal”.
  • Per-order and per-payment database locks keep the webhook, the return, the cron and a double click from booking one payment twice.

Lists and pages (Orders > Vipps MobilePay)

Section titled “Lists and pages (Orders > Vipps MobilePay)”
  • Vipps MobilePay: the payments list, searchable by order or payment reference and filterable by status, with a banner for reservations near their deadline.
  • Connection: keys, MSN, currency and webhook (see Configuration). Vendors see it only when owner mode is off.
  • Log: what happened and when, with level, action and text filters, date range and Export CSV. Secrets are masked.
  • Jobs: counts per state (Queued, Running, Waiting to retry, Done, Gave up), the list with the last error, Retry, Remove and Run the queue now. Jobs retry after 5 minutes, 15 minutes, 1 hour, 3 hours and 12 hours.
  • Owner mode: a cart with several vendors is one payment on the parent order. The vendor (child) orders show that payment. Each child order captures its own share at the capture status (the last one takes the rounding rest) and refunds only its own share; the Refund status refunds that share too. If a child order is cancelled, its share is not captured by another vendor; the rest of the reservation is released once every vendor order is captured or cancelled (it is released by order status, not from a single child order’s form). Vendors can see the tab but cannot capture, refund or release.
  • Owner mode off: the vendor captures and refunds their own orders on their own sales unit.