*** This article describes the current flow. A new flow will go live in March 2020. ***
The Source endpoint assumes that you already have the full details required to create a physical mandate. If you don't have all of the details, you'll need to build a form to capture the details from the customer.
Source has no further use after the mandate is created - all of the details can be retrieved using the GET Mandate API endpoint.
The overall flow for physical mandates is:
Step 1. You create a `source` with fully pre-filled NACH Debit parameters. LotusPay returns a `mandate`. The `mandate` object remains valid until the mandate is processed or withdrawn.
Step 2. You need to create a printed paper mandate. You can use the LotusPay pre-filled PDF which is in the standard NPCI format, or you can use your own blank or partially-filled mandate stationery (ensuring that the hand-written data precisely matches the Source data). To use the LotusPay pre-filled PDF, you fetch it via the GET Mandate PDF API.
Invitation method: If you want LotusPay to send an invitation to the customer for them to authorise in their own time, you can include an email address in the `email` argument, and an email will be instantly sent to your customer with the PDF file attached. The display name of the From email address will be your company's trading name, and your company logo will be displayed.
You can also download the PDF from the mandate page on the LotusPay dashboard.
Step 3. You take the customer's wet signature on the printed paper mandate.
Step 4. You take a photo of the paper mandate and store it in your application. You use the POST Physical Mandate Image API to send the image to LotusPay. Alternatively, you can use the LotusPay NACH Android mobile app to take a cropped photo and directly upload it to LotusPay. Alternatively, you get the photo/scan on your computer desktop, and upload it in the dashboard mandate page (this has a cropping feature).
Step 5. You use the POST Process Mandate API to send the mandate for processing. Alternatively, you can click on Process in the mandate page on the dashboard. This step acts as the checker stage of a 'maker-checker' protocol, if so required.
Step 6. LotusPay verifies and submits the mandate to the banking system. If LotusPay finds any error e.g. data mismatch, poor image quality etc. then LotusPay will return the mandate to pending status and you would be notified via webhook. The 'failure_reason' key would be populated with the reason. If the issue is with the image, you may upload a fresh image to the same mandate object and again process it. If the issue is with the data, you should withdraw this mandate object and create a new one.
Step 7. Within 2 to 10 working days, the mandate status transitions to `active` or `failed`.
RBI, NPCI and sponsor banks have strict rules regarding processing, archiving and retrieval of physical paper mandates. It's your responsibility to abide by these rules.
Mandate statuses and webhooks
See this article on mandate statuses for detailed information.
Your integration should use our webhooks to be notified of status changes on mandate, payment and ACH debit objects.