Vipps direct API

Introduction

Vipps is a two-phase payment method supported by the major norwegian banks. In the direct API scenario, PayEx receives a mobile number (MSISDN) directly from the merchant UI.  PayEx performs a payment that the consumer must confirm in the Vipps mobile app.

  • When the consumer/end-user starts the purchase process, you make a POST request towards PayEx with the collected PURCHASE information.
  • After that, you need to collect the consumer's mobile number and make a POST request towards PayEx.
  • PayEx will handle the dialogue with Vipps and the consumer will have to confirm the purchase in the Vipps app.
  • Finally you will receive a payment callback when the Vipps dialogue is completed, and you will have to make a GET request to check the payment status.
  • The flow is explained in the picture below:

Vipps_flow_directAPI.png

API-requests

The API-requests are displayed in the sequence diagram below. 

IMPORTANT: Please make sure to use the complete URI's that are returned in the JSON object from the specific request you make. If you parse any content and include it in your local stored URI's - you risk breaking compability when PayEx release future updates.

The general rest-based API model are described in the API Reference & Technical Information.

Options

All valid options when posting in a payment with operation equal to Purchase, are described in the technical reference.

  • Authorization (two-phase):
    • The intent of a Vipps purchase is always Authorization. The amount will be reserved but not charged. You will later (i.e. when you are ready to ship the purchased products) have to make a Capture or Cancel request.
  • PayEx will POST a Callback request to the callbackUrl given when the payment was created, whenever changes to the payment occur.
  • It is possible to abort a payment if the payment has no successful transactions.

Sequence diagrams

The sequence diagram below shows the two requests you have to send to PayEx to make a purchase. The links will take you directly to the API description for the specific request. 

Options after posting a payment

  • Be prepared to receive a callback from PayEx.
  • VIPPS only support two-phase transactions (AUTHORIZE), which mean that you must implement the CAPTURE and CANCEL requests.
  • For reversals, you will need to implement the REVERSAL request.

Capture Sequence

Capture can only be perfomed on a payment with a successfully authorized transaction. It is possible to do a part-capture where you capture a smaller amount than the authorized amount. You can later do more captures on the same payment up to the total authorization amount.

Cancel Sequence

Cancel can only be done on a authorized transaction. If you do cancel after doing a part-capture you will cancel the different between the capture amount and the authorization amount.

Reversal Sequence

Reversal can only be done on a payment where there are some captured amount not yet reversed.

Created by Fredrik Köhler on 2018/09/10 14:05
   

Tips

Jump to any page in the wiki with Ctrl+G or Meta+G.
See more shortcuts.

Need help?

If you need help with XWiki you can contact: