Finflux Integration with Razorpay PaymentLink – How to Guide

by | Jun 8, 2021

Finflux has taken an open approach to integration.  With our API centric approach, we offer out of the box integrations with most commonly used service providers in the world.  

The following blog explains the step by step guide to configuring and troubleshooting Razorpay PaymentLink integration with Finflux.  

Prerequisite

  • RazorPay payment link is available only in Finflux version 20.02.x and above.
  • Financial institute has to discuss with the RazorPay about the pricing and agree with it. Standard pricing is available at https://razorpay.com/pricing/ final pricing is subject to the negotiation with the RazorPay relationship manager.
  • Financial institute has to sign-up with RazorPay, upon account activation, we can start the configuration.

Step 1. Please verify Finflux release version. If the release version is less than 20.02.x then please upgrade to latest stable version.

Step 2. Enable RazorPay service in Finflux platform

After enabling you can see RazorPay (Payment gateway) external service under admin>system>external service.

Step 3(Optional on having working credentials). Share Webhook/Callback details with client.

Share this details to only with required person and should be share with confidential mode and set expiry of share information as one week.

To update about the payment link status (paid, partially paid, linked expired) RazorPay need to call back Finflux system and it is achieve through RazorPay Webhook settings.

Please share the below information with client

Parameter

Values

Finflux Endpoint for payment update (Webhook URL)

https://{{tenant id}}.finflux.io/fineract-provider/api/tp/paymentgateway/razorpay/razorpaylink/payment-callback/{{paymentType}}?tenantIdentifier={{tenant id}}

paymentType – Internal loan repayment will be done using payment type specified.

List of active events (need to enable)

invoice.paid
invoice.partially_paid
payment_link.paid
payment_link.partially_paid

crypto_secret_key

d1gyCIAD0eHVyGHeOonTVZpLWa4eT4LD

This secret key is a sample value please do not use instead create a new secret key with the help of https://randomkeygen.com/ (Use CodeIgniter Encryption Keys)

Step 4 (Optional on having working credentials). Configuration at RazorPay portal.  This activity must be done by Financial Institute/Client and never be done by Finflux team.

4.1 Login to RazoPay Portal (https://dashboard.razorpay.com/#/access/signin).

4.2 Make sure RazorPay portal is in Live Mode, in case if it is in Test Mode switch to Live Mode.

4.3 Go to Setting>Webhook>Click on set up your Webhook

On new Webhook, pop up client need to updated below values those are sent through confidential email

After entering the values click on save.

4.4 Generate RazorPay access keys/API keys.

Go to Settings>API keys>Click on generate key

Click on download key details. And ask clients to sent this key details either with password protection or through confidential email.

Step 5. Configuration at Finflux Portal.

5.1 Create a stretchy report to fetch loan account numbers and loan due amount for those loans payment link need to be sent.

Financial Institute/Client’s requirements like payment linked need to sent to only selective loan product and logic to derive due amount and similar such requirement need to be taken care in this report.

Ex: Stretchy report name “Razorpay Payment Data Generator”

Stretchy report with Logics of fetching loanId (expiry excluded)

Stretchy report name to test in local (modify ml.id,amount and expireInSecs on test case).

Note: RazorPay requires at-least 15 min in future to initiate payment links

5.2 Configure RazorPay external service

Go to Admin>System>External Service>Click on RazorPay payment gateway. Click on edit to configure the below values (Please note order of the fields are different then what you see on the actual screen)

5.4 Add GL code for inter branch loan transaction (Optional)

Go to Accounting>Account linked to financial activities and verify financial activity mapping is define for “Inter Branch Loan Transaction”, if not defined, new mapping for “Inter Branch Loan Transaction”, usually for this purpose “Suspense asset” GL accounting use.

Step 6. End to end testing of the set up.

6.1 Modify stretchy report “RazorPay Payment Data Generator” to  pick only test loan (test loan belongs to test customer and customer mobile number must be same as testing person’s mobile number. And test loan must have some due amount).

6.2 Run a batch job “Batch to create payment links” once a batch job is successfully run, on test customer mobile number SMS that contain payment link from RazorPay (sender ID RZRPAY) will be receive within 5 min.

6.3 Click on the payment link and do Rs 1 payment either using debit card or net banking.

6.4 Login to Finflux, navigate to test customer and open the test loan account and go to transaction tab. On transaction tab ensure Rs 1 transaction done just now is reflecting.

If you fail at any of the above testing steps then please refer the below troubleshooting guide.

Step 7. Test using API

We can initiate payment using finflux API as well

1curl --location --request POST 'https://<tenant>.finflux.io/pg/loans/30991/repayments' \ 2--header 'Authorization: Bearer xyz' \ 3--header 'Content-Type: application/json' \ 4--data-raw '{ 5    "amount":500, 6    "paymentTypeId":1003, 7    "locale":"en" 8}'

Isn’t this simple ?? 🙂

Photo Credit: ThisIsEngineering from Pexels