Configuring Vipps MobilePay

Vipps MobilePay is used throughout Denmark, Finland and Norway. The Vipps and MobilePay payment methods can be used in the Nordics and other European regions.

   When you sign up as a new Vipps merchant, select FinDock as your partner in the sign-up process for "Vipps på nett." The FinDock integration does not support direct capture payments.

Multi-merchantMulti-currency
Payment MethodOnline Payment FlowIntegration PatternsData EntryOne-timeRecurringRefunds
MobilePayOnline RedirectAPINo
VippsOnline RedirectAPINo

Prerequisites

  • FinDock is installed and configured.
  • WebHub is connected.
  • You have a Vipps MobilePay merchant account.

   The FinDock integration with Vipps does not support direct capture payments.

Install the Vipps extension

Follow the standard procedure for installing payment processors to add the Vipps for FinDock payment extension and activate payment method(s).

Check and assign the required permissions. If you are using custom permission set groups, ensure the package-specific permission sets are assigned.

Configure Vipps Mobile extension

To setup up the payment extension, you need to copy some details from the Vipps MobilePay portal to the FinDock extension setup. We recommend having both the portal and FinDock open in different browser tabs so you can copy directly from one to the other.

Before you begin, determine if you are setting up a production or test environment. If you are testing, select the Test option to get the correct API keys before copying any information.

To configure Vipps MobilePay for FinDock:

  1. Launch the FinDock app and click the FinDock Setup tab.
  2. Click Processors & Methods in the left-hand menu.
  3. On the Installed tab, click the Vipps MobilePay processor entry.
  4. On the Accounts tab, click Add account.
  5. For the merchant account you want to integrate, add the following details:
    • Merchant Account Name: Enter a name for your Vipps MobilePay target (merchant account)
    • Default Account: Enable on the account you want used when no account is specified in a payment intent call to the Payment API
    • Test Account: Enable if you are setting up a test environment
    • Merchant Serial Number: MSN from portal for the given account
    • Client Key: API client key from portal
    • Client Secret: API client secret from portal
    • Ocp-Apim-Subscription-Key: API Subscription key from portal (either primary or secondary)
    • Product Name: Default name of Recurring Agreements setup for Vipps payment method; can be overwritten via the Payment API
    • Merchant Agreement Url: Default URL for setting up recurring agreements. Visible to end users in their Vipps app. Can be overwritten via the Payment API
    • Retry Days: How many days to retry a failed recurring Vipps payment. Recommended to be at least 3, to ensure success.
  6. Click Save.

Reconciling Vipps MobilePay payments

Vipps MobilePay payments can originate from different sources. Next to one-time and recurring online payments, it is also possible to transfer money directly to a merchant via a mobile number.

FinDock reconciles all payments to your Vipps MobilePay account using a daily, automated import of transactions from your ledger. These transactions contain refunds, confirmed payments and payouts from Vipps.

To enable this reconciliation, you need to adjust the payment extension general settings.

  1. Launch the FinDock app and click the FinDock Setup tab.
  2. Click Processors & Methods in the left-hand menu.
  3. On the Installed tab, click the Vipps processor entry.
  4. Under General Settings, toggle on Enable Reconciliation Incoming Payments.
  5. Add a date for Initial Ledger Date to tell FinDock from which date to start fetching ledger entries.
  6. Click Save.

Take particular care with defining the Initial Ledger Date. From that date onward, FinDock starts fetching transaction data from your ledger. If you have previously used some other integration setup, this date can be considered the official switchover to FinDock handling of Vipps MobilePay payments.

Once these settings are in place, FinDock begins processing ledger entries as follows:

  1. Daily heartbeat job checks if there are payments that need to be retrieved from Vipps MobilePay.
  2. If there are new payments, FinDock retrieves all new payments by creating a message record for each retrieval job and an individual message for each transaction.
  3. Individual Inbound Report records are created to process the payments and reconcile them via Guided Matching against installments.

   Currently the Reporting API does not retrieve payments made via mobile numbers. If you want to process these payments, you can use Guided Matching to reconcile them.

Vipps data mapping

The table below summarizes the payment data FinDock captures to manage Vipps and MobilePay transactions.

Vipps dataObjectFieldValue
N/APayment ProfileRecord TypeWallet
VippsPayment ProfileWallet TypeVipps
Agreement IDMandateMandate IdE.g. agr_123456
Product NameN/AProduct NameAPI parameter ProductName
Bank Statement DescriptionInstallmentProductAPI parameter description
Order IDInstallmentPayment ReferenceVipps value, e.g. pi-123456789
ReferenceInstallmentPayment ReferenceMobilePay value, e.g. pi-123456789
Transaction TextInstallmentBank Statement DescriptionVipps value, e.g. Invoice 1234
Payment DescriptionInstallmentBank Statement DescriptionMobilePay value, e.g. Invoice1234

Mobile phone number handling

With Vipps MobilePay, the payer’s mobile phone number plays a central role in the transaction.

If you use FinDock Giving Pages or PayLinks, you can:

  • Use a URL query to pre-fill the payment form with a phone number from Contact or Account. If the payer enters a different number, FinDock uses the value entered by the payer.
  • Set the default value of the API Parameter using default values. This enables you to use any phone number field to send to Vipps.

When using a custom front-end for the FinDock Payment API:

  • Make the phone number API parameter visible for the payer. FinDock uses the value entered by the payer in the Vipps MobilePay redirect.

   Vipps can only be used with Norwegian Krone. MobilePay payments can be in either Danish Krone (DKK) or Euro (EUR).

Managing Vipps recurring agreements

When setting up a recurring Vipps payment, the payer will see the agreement in the Vipps app. If a payer wants to cancel their agreement, it is highly recommended to also cancel the agreement in Vipps. FinDock allows you to integrate canceling the Vipps Agreement into your own processes via an Invocable Action. For more information on how an invocable action can be used, see the Salesforce documentation.

The Cancel Vipps Agreement invocable action is an Apex Action with 2 input parameters. You can either supply the Apex action with a Mandate Record ID or the Vipps Agreement ID.

You can use the following combination to cancel a Vipps agreement:

  1. In a Flow, for instance, when cancelling recurring payments: Apex Action (recommended): use Cancel Vipps Agreement. This is the recommended way of integrating with a Flow.
  2. Use the Global class.

Using Vipps Cancel Agreement in a Flow

To use the invocable in a Flow:

  1. In your Flow add an Apex Action.
  2. Search for Cancel Vipps Agreement Under Set Input Values, toggle the parameters to “Include”. Note: Please make sure to either toggle Mandate Id OR Agreement Id depending on what input variable you wish to use.
  3. Either manually assign your own variables to the output parameters under “Advanced” or use the default [api_name_of_your_action].isvalid and [api_name_of_your_action].message.
SettingDescriptionExample valuesAPI name
Is SuccessWhether the cancellation performed in Vipps was successfulTrue or False[your_apex_action].isSuccess
MessageReturn message from Vipps if availableAgreement is already cancelled[your_apex_action].message

When executed, the Apex Action sets two variables that indicate whether the provided combination was valid or not. If the combination is not valid, a message with more information is returned if available. If the cancellation is successful, FinDock will also deactivate the Mandate and set the status to cancelled.

Testing with the Payment API

You can use the following example messages to test if the Vipps configuration is working as expected.

{
    "SuccessURL": "https://www.example.com/success",
    "FailureURL": "https://www.example.com/error",
    "Payer": {
        "Contact": {
            "SalesforceFields": {
                "FirstName": "Test",
                "LastName": "Payment",
                "Email": "testpayment@findock.com"
            }
        }
    },
    "OneTime": {
        "Amount": "36"
    },
    "PaymentMethod": {
        "Name": "Vipps",
        "Processor": "FinDock-Vipps",
        "Parameters": {
            "mobileNumber": "[Vippstestnumber]"
        }
    }
}

Was this page helpful?