Use Case: Pay-by-Link
Problem
Activating a new customer policy is a cumbersome process that requires multiple document exchanges. This process is inefficient and creates operational pains for insurers.
However, insurers are still requesting potential policyholders to print, fill, sign, scan, and email back a form before actually selling the policy. The complexity and length of activating a policy increases the likelihood of customers postponing this time-consuming task, or even dropping it entirely.
Solution
With Duck Creek Payments Orchestrator' Pay-By-Link solution, policyholders take on average less than a minute to renew or activate their policies from the moment they receive the link. This is the most convenient and efficient way to onboard customers into a payment journey.
Pay-By-Link is a process through which a secure link is generated by Payments Orchestrator. Once generated, your system can send this link to your customers via SMS or Email. Once your customers click on it, they will be directed to a secure online payment page. There they are prompted to submit their payment details which takes less than five minutes. They do not have to go through lengthy website checkouts or messy document exchanges with you, saving their time and making them comfortable.
Prerequisites
In order to work with Pay-By-Link, ensure the following.
- You have access to the Tenant Portal
- You have generated valid API Keys.
- You have installed and configured the Marketplace Apps with the relevant credentials.
- You have created and configured either a Collect Scheme or Payout Scheme.
Supported Apps
- Bank of America ACH Direct
- BNZ (Cybersource)
- BNZ File Transfer
- Bottomline
- Braintree
- Checkout.com
- Global Payments
- GoCardless
- NAB Direct Link
- NAB Gateway
- SIBS DPG
- Stripe
- Worldline Saferpay
- Worldpay VAP
Working with Pay-By-Link
Step 1: Authenticate
The first step to using the Payments Orchestrator API is to authenticate yourself by generating an Access Token. See Authenticate your API Requests for more information.Step 2: Define Your Payment Intention
Create your Order and Instruction and make a call to thecreate-order
endpoint. See Define your payment intention for more information. https://sandbox-api.imbursepayments.com/v2/order-management
Authorization: Bearer {eyJhbGciOiJIUzI1N...9UAUBNuyPN6Xg}
x-account-id: 49bder42-90d9-46b1-b120-f6b347d621a0
x-tenant-id: 60452f48-5d48-4bc0-ab6f-5cr3ee411f63
Content-Type: application/json
{
"orderRef": "order_pay_by_link",
"instructions": [
{
"instructionRef": "inst_pay_by_link",
"customerRef": "MEGHAN_002",
"direction": "DEBIT",
"financialInstrumentId": "",
"amount": "120.00",
"currency": "GBP",
"country": "GB",
"schemeId": "F65A71F4EDAFBBBA7EA87706CBA113C3",
"settledByDate": "2023-06-01",
"metadata": {
"paymentDescriptorField1": "InsurancePaymentFor",
"FieldValue": "June 2023"
}
}
]
}
Step 3: Generate Pay-by-link Session
Copy the value oforderRef
and instructionRef
properties from Step 2: Define Your Payment Intention and use them to create the request body of the Whitelabel session token. Any of the Whitelabel endpoints generate a link, so utilize the one that best suits your use case.https://sandbox-api.imbursepayments.com/v2/whitelabel-customer/session/checkout
Authorization: Bearer {eyJhbGciOiJIUzI1N...9UAUBNuyPN6Xg}
x-account-id: 49bder42-90d9-46b1-b120-f6b347d621a0
x-tenant-id: 60452f48-5d48-4bc0-ab6f-5cr3ee411f63
Content-Type: application/json
{
"orderRef": "order-ref-123",
"instructionRef": "instruction-ref-123",
"expirySeconds": 500,
"themeId": "be4bc9c1-c3fb-43c8-ab1a-908a86123682",
"billingHouseNumber": "4",
"billingStreet1": "Thing Mansions",
"billingStreet2": "Somewhere St",
"billingCity": "Placington",
"billingState": "Hampshire",
"billingCountry": "United Kingdom",
"billingPostCode": "AB1 2CD",
"customerEmail": "john.smith@example.com",
"customerMobilePhone": "07123456789",
"cardholderName": "MR J SMITH",
"companyName": "Payments LLC",
"customerType": "B2B",
"authorizationSource": "WEB",
"authorizationFrequency": "Monthly",
"bankAccount": {
"accountHolderName": "MR J SMITH",
"number": "10001000",
"extraCode": "100100"
},
"channels": [
{
"type": "Email",
"destination": "an-email@duckcreek.com"
}
]
}
link
property, which holds the secure payment link. Your system must send the link to your customer.{
"link": "https://checkout.imbursepayments.com?sessionToken=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb3JyZWxhdGlvbm...",
"sessionToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb3JyZWxhdGlvbm...",
"expires": 1641990742
}
Step 4: Check the payment status
After the Financial Instrument details of your customer has been submitted to Payments Orchestrator, Payments Orchestrator will communicate with the Payment Service Provider (PSP) to handle the transaction. You can check the status of the transaction by polling the APIs. Alternatively, you can also set up a Webhook to notify you every time the transaction status changes.https://sandbox-api.imbursepayments.com/v1/order-management/order_pay_by_link/instruction/inst_pay_by_link
Authorization: Bearer {eyJhbGciOiJIUzI1N...9UAUBNuyPN6Xg}
x-account-id: 49bder42-90d9-46b1-b120-f6b347d621a0
x-tenant-id: 60452f48-5d48-4bc0-ab6f-5cr3ee411f63
Content-Type: application/json
{
...
"created": 1669167777450,
"lastUpdated": 1669167777450,
"direction": "DEBIT",
"status": "INCOMPLETE",
"customerRef": "MEGHAN_002",
"amount": 120.00,
"currency": "GBP",
"country": "GB",
"settledByDate": "2023-06-01",
"forecastedSettlementDate": null,
"actualSettlementDate": null,
...
"transaction": {
...
"status": "PROCESSING",
...
},
"failed": null,
"cancelled": null
}