Use Case: Card Collections

Problem

Digitization and changes in customer preferences are putting pressures on large insurers to offer new and unfamiliar payment methods to their policyholders.

Exposure to certain payment methods such as card payments for premium collections has been limited for many insurers. Additionally, many enterprises lack experience and expertise in the payment arena, including the right technology to connect.

The complexity of accepting card payments is primarily linked to connecting new providers to existing IT infrastructure, embedding reporting into existing processes, updating the existing processes as well as navigating the provider and solution landscape in the payment ecosystem.

Solution

We offer insurers a single integration to seamlessly and rapidly deploy card collection capabilities, regardless of which billing or ERP system you use and how old it is.

Through Duck Creek Payments, insurers have access to all payment providers and payment technologies around the globe without the need for direct integrations. Payments also provides PCI DSS compliant iFrames that can be embedded into your customer's journey.

We do all the heavy lifting and simplify many of the technical problems, so you can fully enhance your payment capabilities while saving time and resources.

Prerequisites

In order to work with card collections, ensure the following.

Supported Apps and Payment Methods

  • BNZ (CyberSource) - Cards
  • Braintree - Cards
  • Checkout.com - Cards
  • Global Payments - Cards
  • NAB Gateway - Cards
  • SIBS DPG - Cards
  • Stripe - Cards
  • Worldline Saferpay - Cards

Working with Card Collections

Step 1: Authenticate

The first step to using the Payments 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 the create-order endpoint. See Define Your Payment Intention for more information.

POST URL OrderRequest Header SampleRequest Body Sample
Copy
Copied
https://sandbox-api.imbursepayments.com/v2/order-management
Copy
Copied
Authorization: Bearer {eyJhbGciOiJIUzI1N...9UAUBNuyPN6Xg}
x-account-id: 49bder42-90d9-46b1-b120-f6b347d621a0
x-tenant-id: 60452f48-5d48-4bc0-ab6f-5cr3ee411f63
Content-Type: application/json
Copy
Copied
{
	"orderRef": "order_card_payment",
	"instructions": [
		{
			"instructionRef": "inst_payment",
			"customerRef": "DEEPAK_004",
			"direction": "DEBIT",
			"financialInstrumentId": "",
			"amount": "110.00",
			"currency": "GBP",
			"country": "GB",
			"schemeId": "4E1E8D9F022E7A6A09FAEB71992E7F2F",
              "settledByDate": "2022-12-01",
			"metadata": {}
		}
	]
}

Step 3: Generate Checkout Session Token


Copy the value of orderRef and instructionRef properties from Step 2: Define Your Payment Intention and use them to make create the request body of the Create session token endpoint.

POST URL OrderRequest Header SampleRequest Body SampleResponse Body Sample
Copy
Copied
https://sandbox-api.imbursepayments.com/v2/whitelabel-customer/session/checkout
Copy
Copied
Authorization: Bearer {eyJhbGciOiJIUzI1N...9UAUBNuyPN6Xg}
x-account-id: 49bder42-90d9-46b1-b120-f6b347d621a0
x-tenant-id: 60452f48-5d48-4bc0-ab6f-5cr3ee411f63
Content-Type: application/json
Copy
Copied
{
    "orderRef": "order_card_payment", 
    "instructionRef": "inst_payment",
    "expirySeconds": "6000",
    "billingStreet1": "45 Braemar Rd",
    "billingStreet2": "", 
    "billingCity": "Ballater", 
    "billingState": "Aberdeenshire", 
    "billingCountry": "UK", 
    "billingPostCode": "AB35 5RQ", 
    "customerEmail": "deepak.chopra@mymail.com", 
    "cardholderName": "Deepak Chopra"
}
Copy
Copied
{
    "sessionToken": "73GMJdRQdkyselgaZ8z…………………….CMc0KBpMtY",
    "expires": 1660701819
}

Step 4: Embed the Checkout Token

The checkout session token can be used with a Pay-By-Link object or with the Checkout web component that can be placed on your checkout page using an iFrame. To learn how to embed the checkout token into an iFrame, see Embed Checkout Token.

Step 5: Check the Payment Status

After the Financial Instrument details of your customer has been submitted to Payments, the application 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.

URL to GET SampleRequest Header SampleResponse Body Sample
Copy
Copied
https://sandbox-api.imbursepayments.com/v1/order-management/order_xnv6h1n/instruction/inst_xnv6h1n
Copy
Copied
Authorization: Bearer {eyJhbGciOiJIUzI1N...9UAUBNuyPN6Xg}
x-account-id: 49bder42-90d9-46b1-b120-f6b347d621a0
x-tenant-id: 60452f48-5d48-4bc0-ab6f-5cr3ee411f63
Content-Type: application/json
Copy
Copied
{
    ...
    "direction": "DEBIT",
    "status": "INCOMPLETE",
    "customerRef": "DEEPAK_004",
    "amount": 110.00,
    "currency": "GBP",
    "country": "GB",
    "settledByDate": "2022-12-01",
    "forecastedSettlementDate": null,
    "actualSettlementDate": null,
    ...    
    "transaction": {
      ...
      "status": "PROCESSING",
      ...
    },
    "failed": null,
    "cancelled": null
}
Copyright 2024 Duck Creek Technologies. All Rights Reserved.