Dinger

Developer / Prebuilt Checkout API / Workflow

Workflow


Prebuilt Checkout form workflow


Description

This API documentation is for business that wants to integrate with Dinger platform to accept payments digitally. Customers of the businesses can purchase items or services on the businesses’ platform and Dinger will facilitate the payments together with corresponding payment providers for every transaction.

There is a thing to note here. You can either open this checkout form in the same tab as your store or in the new tab, leaving your store's tab open. We, Dinger, personally encourage merchants to open the form in the same tab as your store.



DINGER PREBUILT CHEKOUT FLOW PROCESS



Step by step user journey

1. Customers first have to fill order information and payment information in the dinger prebuilt checkout form and click the pay button.

2. The merchant first has to activate the project in the merchant portal. He will get the public key and secret key from the merchant portal after activating the project.

3. The merchant will receive the information from the customer and send the data to the Dinger server after encryption.

• Remark: items from customer’s order information must be an json array string. So items should be stringified first.

4. The data should first be encrypted with the RSA algorithm using the public key.

encrypted_data = rsa(jsonStringify(data),publicKey)

5. Then the result payload data should be encoded to base64 format.

base64_payload = Base64.getEncoder().encodeToString(encrypted_data)

6. The hash value can be obtained by encrypting the payload with hmac sha256 using the secret key from the merchant portal.

hashed_value

7. After all the encryption processes, the payload is ready to be sent to the server.

Sample link-BaseUrl?payload=base64_payload&hashValue=hashed_value BaseUrl-https://prebuilt.dinger.asia

8. When dinger receives the data from the merchant, it initiates the payment with the corresponding payment provider.

9. Customer needs to confirm the payment with OTP or PIN code.

10. Merchants have to add return URL for form payment (to redirect if there's a payment error on form payment and after the payment is successful).
(example return URL (GET Method)-
https://sannkyi-testing.dingerpay.org/success?merchantOrderId=5133&state=SUCCESS)

Note : Form token expires in 15 minutes so, if you have not paid to the respective provider, do refresh the page. For provider tokens, please read here for their times of expiry.