## vipps-direct-api

# Vipps direct API

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.

## Introduction

- 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.
- If CallbackURL is set you will receive a payment callback when the Vipps dialogue is completed, and you will have to make a GETrequest to check the payment status.
- The flow is explained in the picture below:

## API Requests

The API requests are displayed in the purchase flow. The options you can choose from when creating a payment with key operation set to Value Purchase are listed below. The general REST based API model is described in the technical reference.

### Options before posting a payment

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

#### Type of authorization (Intent).

- 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. if a physical product, when you are ready to ship the purchased products) have to make a Capture or Cancel request.

#### General

- Defining CallbackURL: When implementing a scenario, it is optional to set a CallbackURL in the POST request. If callbackURL is set PayEx will send a postback request to this URL when the consumer has fulfilled the payment. See the Callback API description here.

## Purchase flow

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

- Abort: It is possible to abort a payment if the payment has no successful transactions.
- 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.
- If CallbackURL is set: Whenever changes to the payment occur a Callback request will be posted to the callbackUrl, generated when the payment was created.

### 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.

Tags: px-custom-page-content
Created by Asbjørn Ulsberg on 2019/07/11 15:00

- Comments (0)
- Attachments (2)
- Information

# Applications

# Tips

Did you know that you can improve XWiki? Take 5 minutes to fill this survey and help this open source project!

# Need help?

If you need help with XWiki you can contact:

- Community Support
- Professional Support