Friday, August 13, 2010

How Does Dragonpay Validate Over-the-counter Bank Payments

Even with the prevalence of credit cards among the higher-income-bracket online consumer, over-the-counter bank deposits remain very popular with majority of local e-commerce sites. Almost all resort that I know of, for example, accepts payments for online booking by asking the consumer to deposit to their bank account by physically going to a branch, and then faxing back the deposit slip as proof of payment.

Possible reasons for this include:
  1. Not a lot of people have credit cards, and bank deposit is universally available to everyone
  2. Admittedly, majority of Filipinos are still wary of putting their credit card info on the Internet
  3. There is less risk on the merchant side because money deposited to their account cannot be charged back
While this payment method is sufficient for low-volume transactions, imagine what would happen if hundreds, if not, thousands of customers were to pay you via bank deposits. You will then receive hundreds or thousands of faxes a day and it would be humanly impossible to match the deposit slip with the actual deposit. I do not know of any online banking facility which shows all the details including bank branch and exact time of deposit. So matching is very complicated.

From what I'm told, some banks abroad have the capability to do an HTTP call to your web server every time somebody makes a deposit to your account. This would be a really cool feature. But again, I am not aware of any local bank providing this service. Dragonpay's over-the-counter bank payment actually simulates this effect. It allows e-commerce merchants to get a pseudo or near-real-time HTTP notification when a deposit is made to Dragonpay's account in behalf of the merchant. This allows e-commerce shopping carts to complete the automated payment cycle. A step-by-step guide is provided here to understand the flow of offline payments.

Performing automated matching of bank deposits against offline or "pending" payments, is not a simple task. It involves a lot of programming and a modicum amount of guesswork. Dragonpay tries to find an exact match on the amount. But this is not guaranteed to always match because banks do not normally give change right down to the centavo. So if the online merchant requested for a payment of PHP3,128.64, the consumer will most likely pay either PHP3,128.75 or PHP3,129.00. A certain band or "margin for error" has to be considered.

For banks that do provide deposit branch information, Dragonpay will consider it in order to get a closer match. Dragonpay gets an estimate of the nearest likely time of deposit and uses this to compare against the time provided by the customer. If there is a very high likelihood of a match, given that there are no other similar-looking transactions that can possibly be considered, Dragonpay automatically assumes a match has been made and it will update its status and send the HTTP notification to the merchant.

In the cases wherein the system really cannot determine for sure if a match is present, it will fall back on human judgment to make the matching manually. If even human cannot determine the match by just looking at the records, Dragonpay support will contact the buyer to ask for proof of deposit (ie. fax/scan the deposit slip for manual verification).

1 comment:

  1. How do I validate my payment if I paid for my transaction in an SM Payment Counter?


Note: Only a member of this blog may post a comment.