Documentation

Borgun, all rights reserved. 2017 ©

Updated 30.01.2018


POS Loans
Version 1.0.1169

Introduction

This document describes the structure of Borgun's POS loans which enables merchants to offer consumer loans through point of sale systems. This allows customers to self service a loan during the traditional payment process.

POS loan process

  1. Customer products have been scaned into POS system and consumer loan is selected as payment. GetPaymentMethods method is called to display available payment options. Merchant selects the payment option that the customer preferes and is then promted for the customers phone number.
  2. Merchant enters customer phone number and presses Send SMS button and POS system calls the CreateOnlineLoanTokenSMS method. Loan status is set to CREATED and customer receives SMS with URL that allows temporary access to Borgun loan application web.
  3. POS system goes into waiting for payment mode and calls CheckOnlineLoanStatus every 5-10 seconds to monitor loan progress.
  4. A - Customer opens the URL and loan status is set to INPROGRESS. Customer then applies for a loan confirming his identity with electronic identification via mobile phone or online bank token.
  5. A - Customer succesfully creates a loan. Loan status is updated to SUCCESS.
    B - Customer is not approved for loan or changes is mind and presses the Cancel button. Loan status is updated to CANCELED.
  6. A - POS system receives SUCCESS status from calling CheckOnlineLoanStatus method. The system calls ValidateOnlineLoan method to validate loan and receive details.
    B - POS system receives CANCELED status from calling CheckOnlineLoanStatus method. Switches to alternative payment options for customer or cancels the sale.

Process deviations

  • Status is set to TOKENEXPIRED when URL with access to Borgun loan web has not been used within predefined value (urlValidMinutes input when CreateOnlineLoanTokenSMS method is called). If customer opens an expired URL he will not gain access. POS system has to issue a new SMS URL and restart the process.
  • Status is set to PROGRESSEXPIRED if customer has opened URL but not finished or canceled loan progress within the predefined value (progressValidMinutes input when CreateOnlineLoanTokenSMS method is called). POS system has to issue a new SMS URL and restart the process.
  • Status is set to FAILED if ValidateOnlineLoan method call is not successful. Method response will provide necessary details of failure.

Online Loan Flow

Image 1 - POS loan process from merchant to customer mobile device.


Webservice functions

Four webservice functions from Borgun Consumer Loans API are used for the POS loan process:

GetPaymentMethods

Used to display payment options in POS system with loan key information like PaymentName and PaymentInfo. Typical options are loan with interest up to 36 months or loan without interests up to 12 months. Returns LoanTypeId and MaxNumberOfPayments that needs to be provided in OnlineLoan object when calling CreateOnlineLoanTokenSMS method.

CreateOnlineLoanTokenSMS

CreateOnlineLoanTokenSMS is called with the OnlineLoan object that holdes information regarding the consumer loan, merchant information and redirect URLs.

SuccessUrl Borgun provides a success page https://test.borgun.is/radgreidslur/Pos/Success. *TechSheet includes production URL

CancelUrl Borgun provides a cancel page https://test.borgun.is/radgreidslur/Pos/Cancel. *TechSheet includes production URL

NumberOfPayments and LoanTypeId should be aquired by calling the GetPaymentMethods method.

Setting FlexibleNumberOfPayments as true allows the customer to choose from available number of payments as high as NumberOfPayments was provided. Setting this option as false will force customer to a fixed loan length as NumberOfPayments was provided.

Example data for OnlineLoan

proxy.OnlineLoan onlineLoan = new proxy.OnlineLoan
{
    Amount = 64995, 
    Description = "Playstation 4",
    LoanTypeId = 24,
    MerchantNumber = "9635422",
    NumberOfPayments = 12,
    FlexibleNumberOfPayments = true,
    SuccessUrl = "https://test.borgun.is/radgreidslur/Pos/Success",
    CancelUrl = "https://test.borgun.is/radgreidslur/Pos/Cancel",
};

Other parameters required to call the CreateOnlineLoanTokenSMS method include the following.

progressValidMinutes controls how much time customer has to finish his part of the loan progress before the POS system receives that status is PROGRESSEXPIRED.

urlValidMinutes controls how long the URL that customer receives is valid.

The function returns a tokenstring that is used to call CheckOnlineLoanStatus and ValidateOnlineLoan.

CheckOnlineLoanStatus

The POS system calls the CheckOnlineLoanStatus method to monitor loan process status and responds accordingly to changes in status.

ValidateOnlineLoan

ValidateOnlineLoan is called with three parameters, token, returnUrl and merchantNumber. Note: POS system calls this method (see 6.A in loan proccess).

token that is the same token received from CreateOnlineLoanTokenSMS.

redirectUrl is the same as SuccessUrl but token is added as query parameter. https://test.borgun.is/radgreidslur/Pos/Success?token=[token]

The validation is successful if the loan has been created and the incoming redirect URL has not been tampered with.