Introduction:
Now-a-days online shopping websites has become very popular, and to handle the secure Payment transactions, these are relying on popular third part Payment gateways like Billdesk, paypal etc.
BillDesk is the Payment Transaction Interface which allows the secure payment through Credit card/Online Banking transaction.
Step-by-step Transaction Process:
a. Customer logs-in at the merchant website, chooses the product/service that he intends to purchase.
b. Customer then decides to make payment at merchant’s website.
c. Merchant website will log the order by generating a Unique Order Number; and establish a connection with the BillDesk Payment Gateway Interface [refer the section on Payment Request].
d. At the BillDesk Payment Gateway; the customer is displayed with various ‘payment options’ that the customer can use. These would include – Credit Card; Online Net Banking.
e. Customer chooses the payment option at BillDesk Payment Gateway, and is taken to the page of that specific bank [if Netbanking option is chosen]. Customer then enters the relevant authentication details [ie, User ID/ Card Number/ Password] at the bank’s website; and then is requested to confirm the payment amount.
If the customer chooses to pay using Credit card then a payment page with the look and feel of the merchant is displayed for the user to make a payment.
f. Customer’s account is debited and the Customer is then directed back to the designated Return URL [RU] at Merchant website.
g. The BillDesk Payment Gateway will provide the return response to the designated Merchant return URL received in the initial transaction request. Merchant can use this response to update its system and display to the customer that the payment process was successful.
h. BillDesk payment gateway also generates a unique Transaction ID against each order number that is received – this could be displayed to the customer; and used for any queries relating to the transaction.
Payment Request:
After the customer clicks on PAY [within Merchant website], a request
needs to be generated by Merchant to following BillDesk URL for each
payment with the parameters indicated:
needs to be generated by Merchant to following BillDesk URL for each
payment with the parameters indicated:
https://www.billdesk.com/pgidsk/pgijsp/MerchantPaymentoption.jsp
[The above URL is for example purpose only. And will be unique for each Merchant.]
A brief explanation of these parameters is below:
Parameter Name | Description | Sample Value |
txtCustomerID | Order Number | 1073234 |
txtTxnAmount | Total value of Transaction Rs.Ps. | 2400.30 |
txtAdditionalInfo1 | Source | Identity of Merchant website with Billdesk |
txtAdditionalInfo2 | Currency | INR or USD or GBP or EUR |
txtAdditionalInfo3 | Homestays | Kerela Backwaters |
txtAdditionalInfo4 | Arrival Date | 25-Sep-09 |
txtAdditionalInfo5 | Depature Date | 28-Sep-09 |
txtAdditionalInfo6 | Guests | 2 |
txtAdditionalInfo7 | Rooms | 1 |
RU | Return URL – this dynamic return URL of the merchant where the online return response has to be received for that transaction | Https://payment.merchant.com (sample) |
Note: Parameters are case sensitive.
Example:
<form name=’abc’ method='POST'
action='https://www.billdesk.com/pgidsk/pgijsp/MerchantPaymentoption.jsp'>
<input type='hidden' name='txtCustomerID' value='1073234'>
<input type='hidden' name='txtTxnAmount' value='2400.30'>
<input type='hidden' name=' txtAdditionalInfo1' value='
Identity of Merchant website with Billdesk '>
<input type='hidden' name=' txtAdditionalInfo2'
value='USD'>
<input type='hidden' name=' txtAdditionalInfo3'
value='Kerala Backwaters'>
<input type='hidden' name=' txtAdditionalInfo4' value='25-
Sep-08'>
<input type='hidden' name=' txtAdditionalInfo5' value='28-
Sep-08'>
<input type='hidden' name=' txtAdditionalInfo6' value='2'>
<input type='hidden' name=' txtAdditionalInfo7' value='1'>
<input type='hidden' name='RU'
value='https://payment.merchant.com'>
form>
No. | Area | Description |
1 | Secure BillDesk URL | Always use “https” for the BillDesk URL where the request will be posted. |
2 | POST method | * Always Use “POST” method * Variables must be sent as HIDDEN values |
3 | Referral URL | Always call the BillDesk production URL from the Referral URL only; which needs be shared at the time of integration. |
4 | Length of parameters | Each parameter field should not be more than 120 characters. A ‘NULL’ value will not be accepted for any parameter. |
5 | Disallowed characters | Special characters are disallowed in the parameters that are sent to BillDesk. For example: < > % ; ' " ^ ` $ |
6 | Transaction Amount | During the test phase of the integration, only Rs. 2 can be used as a transaction amount. |
7 | Parameter Name | Parameter names (sent to BillDesk) are case-sensitive |
Payment Response
Once the Payment transaction is done in the Billdesk website, the payment response is sent to the Return URL [RU] specified dynamically by Merchant for each transaction.
This response is the “Form submit” and can be retrieved by – Request.Form[“msg”]
Response Message description:
MerchantID|CustomerID|TxnReferenceNo|BankReferenceNo|TxnAmount|BankID|BankMerchantID|TxnType|CurrencyName|ItemCode|SecurityType|SecurityID|SecurityPassword|TxnDate|AuthStatus|SettlementType|AdditionalInfo1|AdditionalInfo2|AdditionalInfo3|AdditionalInfo4|AdditionalInfo5|AdditionalInfo6|AdditionalInfo7|ErrorStatus|ErrorDescription|CheckSum
For example, suppose the Response message for a particular transaction is as follows:
MAHINDRAID|c7b9b0|MEPG9999999999|200911106652263|7800.00|EPG|NA|NA|INR|DIRECT|NA|NA|NA|10-11-2009 11:00:56|0300|NA|HOMESTAYS|INR|BBEstate-Coorg-Karnataka|17-Nov-09|20-Nov-09|3|1|NA|Transaction Successful|717696825
Please note – MERCHANTID and the CHECKSUM KEY would be provided at the time of
integration.
Payment updation process at Merchant end
The following process should be followed at Merchant end for receiving and processing the
payment response:
I. Receive and Read the Payment Response message – msg at the Return URL
II. Generate the ‘checksum value’ for the Payment Response and validate it with the ‘checksum value’ received in the Payment Response. If they match; proceed to step (c) below; else display a Payment Rejection message to the customer.
III. Update the original record in the merchant system based on the ‘AuthStatus’ field received in the Payment Response. Refer the table below for various values that are received in the AuthStatus field, and the related Transaction Status. The updation to
the original record must be done as follows:
Successful transaction [AuthStatus – 0300]
Update set STATUS = ‘SUCCESS’ where ORIGINALSTATUS=’PENDING’ and ORDERNUMBER=’
1073234’ and TRANSACTIONAMOUNT=’2400.30’
Failure transaction [AuthStatus – other than 0300]
Update set STATUS = ‘FAILURE’ where ORIGINALSTATUS=’PENDING’ and ORDERNUMBER=’
1073234’ and TRANSACTIONAMOUNT=’2400.30’
IV. The above updation process ensures the following:
i) Only the original record is updated [through the Unique Order
Number]
Number]
ii) The record is updated only once [for original status=PENDING]
iii) The record is updated for the same ‘Transaction Amount’ that was
initiated by the merchant.
initiated by the merchant.
Authorization status:
AuthStatus | Status Reason | Proposed Transaction Status |
0300 | Success | Successful Transaction |
0399 | Invalid Authentication at Bank | Cancel Transaction |
NA | Invalid Input in the Request Message | Cancel Transaction |
0002 | Billdesk waiting for the response from bank | Cancel Transaction |
0001 | Error at Billdesk | Cancel Transaction |
For all AuthStatus that is not a Success, an ErrorDescription would be provided in the Payment Response.
No. | Area | Description |
1 | Checksum Validation | Always validate the checksum before updating the transaction Response |
2 | Verify whether the updation is as per the process specified in the interface document | Only the original record is updated [through the Unique Order Number] The record is updated only once [for original status=PENDING] The record is updated for the same ‘Transaction Amount’ that was initiated by the merchant. |
Sample Code:
In the Merchant website, the Page use the “Post method” to send the variables to the Billdesk website
<html>
<head id="Head1" runat="server">
<title>Paymenttitle>
<script type="text/javascript">
function myfunc ()
{
var frm = document.all("form2");
frm.submit();
}
window.onload = myfunc;
script>
head>
<body>
<form id="form2" method="post" action="https://www.billdesk.com/ Paymentoption.jsp" name="form2">
<input type="hidden" name="txtCustomerID"
value="<%=Request("txtCustomerID")%>" />
<input type="hidden" name="txtTxnAmount"
value="<%=Request("txtTxnAmount")%>" />
<input type="hidden" name="txtAdditionalInfo1" value="<%=Request("txtAdditionalInfo1")%>" />
<input type="hidden" name="txtAdditionalInfo2"
value="<%=Request("txtAdditionalInfo2")%>" />
<input type="hidden" name="txtAdditionalInfo3"
value="<%=Request("txtAdditionalInfo3")%>" />
<input type="hidden" name="txtAdditionalInfo4"
value="<%=Request("txtAdditionalInfo4")%>" />
<input type="hidden" name="txtAdditionalInfo5"
value="<%=Request("txtAdditionalInfo5")%>" />
<input type="hidden" name="txtAdditionalInfo6"
value="<%=Request("txtAdditionalInfo6")%>" />
<input type="hidden" name="txtAdditionalInfo7"
value="<%=Request("txtAdditionalInfo7")%>" />
<input type="hidden" name="RU" value="http://www.mahindrahomestays.com/Pages/confirmation.aspx" />
form>
body>
html>
Once the Payment is done, the Bill Desk webiste posts the Response string to the Merchant website, in the form of a variable ie; “msg”.
The following sample code to be written to receive the response variable from the Billdesk website.
string _paymentResp = Request.Form["msg"];
string[] arrResponse = _paymentResp.Split('|'); //PG
string merchantId = arrResponse[0];
string _customerId = arrResponse[1];
string txnReferenceNo = arrResponse[2];
string bankReferenceNo = arrResponse[3];
string txnAmount = Convert.ToDecimal(arrResponse[4]);
string bankId = arrResponse[5];
string bankMerchantId = arrResponse[6];
string txnType = arrResponse[7];
string currency = arrResponse[8];
string itemCode = arrResponse[9];
string securityType = arrResponse[10];
string securityId = arrResponse[11];
string securityPassword = arrResponse[12];
string txnDate = arrResponse[13]; //dd-mm-yyyy
string authStatus = arrResponse[14];
string settlementType = arrResponse[15];
string additionalInfo1 = arrResponse[16];
string additionalInfo2 = arrResponse[17];
string additionalInfo3 = arrResponse[18];
string additionalInfo4 = arrResponse[19];
string additionalInfo5 = arrResponse[20];
string additionalInfo6 = arrResponse[21];
string additionalInfo7 = arrResponse[22];
string errorStatus = arrResponse[23];
string _errorDescription = arrResponse[24];
44 comments:
Hmm is anyone еlѕe encountering problems with the imageѕ on thіs blog lοаdіng?
I'm trying to find out if its a problem on my end or if it's the
blog. Any feеd-back wоuld be gгeatly аpprеciated.
Feel free to νіsіt my wеb blog;
Relevant Web site
Your style is so unique comparеd to other рeople I haνe гead stuff fгom.
I appreciаte уou for ρosting when yοu've got the opportunity, Guess I will just book mark this web site.
Also visit my web page - http://haemorrhoidenet.de/
Grеаt post. I ωаѕ checkіng constantly this blog and Ι аm imprеssed!
Vеrу useful info paгticularly thе lаѕt ρаrt
:) I сагe for suсh informаtion a lоt.
I was looking fοr thіs cеrtаin
info for a very lоng tіmе. Thank you аnd
goоd luсk.
Feel fгee to ѕuгf to mу web blοg - personal chat
Grеat post. I wаs checking constаntly thiѕ blog and I аm impresseԁ!
Very usеful info pаrtіculaгly the lаst
part :) I cагe for such infοrmation a lоt.
I ωas looking for this certain info for a very long time.
Thаnκ yоu аnd gooԁ luck.
Hеre is mу blοg; personal chat
Hеy! Sοmeоne in my Facebook grοuρ shared thіs site ωith us
so I came to check it out. Ӏ'm definitely enjoying the information. I'm bookmarking and
wіll be twеetіng this tо my followers!
Great blog anԁ excellent design аnԁ style.
Also visit my blog pοst: chatroulette website
Ηi, I do belieѵе this is a grеаt ѕitе.
Ι stumbleduρon it ;) I ωill cοme bаcκ once agаin since i hаve
book mаrkeԁ it. Ϻoney and fгeedοm is thе
bеst way to сhangе, may you bе rich and continue tο guidе οtheгs.
mу ωеblοg ... pubic hair
This iѕ геally іntereѕting, Υou're a very skilled blogger. I have joined your rss feed and look forward to seeking more of your great post. Also, I've ѕhared уоur ωеbѕitе
in my socіal netwοrkѕ!
Also vіsit my blog ρost ... rosehip seed oil
You actually make it seem sο easy ωith your pгesentatіοn but
I find this matter to be actually something that I
think I would nevеr undeгstаnd. Іt ѕeems toо
complicated anԁ vеry broaԁ
fоr me. І am loοkіng forwаrd for your next pοst, І'll try to get the hang of it!
Also visit my blog: similar internet site
Ι am in faсt glad to reаd this ωebpage posts
whiсh сonsists of lots οf vаluable facts, thankѕ for ρrοviding these informatiοn.
Also visit my ρagе: avoid Premature ejaculation
I admire your valuable information. This post is written in a very good manner and it entails many useful information for me. Thanks for this blog.
Payment Integration Solutions
Emрloуers may thereby haνe to provide
ѕuch specіal arrangements to accоmmoԁate ρeople with strong allergies.
She cried and thеn tried to write a letter to someone.
Flowerbomb by Vіκtor & Rоlf Ρerfume Review:
Thе Fragranсe.
Reviеw my homeрage wiki.frysklab.nl
Buуing such goods alsо helps the trade in these іtems, anԁ thе woгld ωould
benefit if animals seashell are left wheгe they belong, in their
own hаbitat and among other coгalѕ аnd mаrine lіfe.
Beіgnets, а square frіed ԁonut tοpped with powdeгed sugar, are aνailable at
Caf. The Glass Walkway makes fοr a great day trіp from Sin City.
Also vіsit mу web sіte ... souvenir
If you're just looking to host a "come as you are" style party with family and friends (and lots of fun, of course. Believe it or not, a well-chosen cheap dress colour can transform the ensemble impact from drab to fab. You can truely find what you are looking for especially if you are into the new fashion trends.
My web page - cheap dresses
Nο matter ωhаt your style, this list
should gіѵе you somеthіng
new to try onсе Spгing is here.
There is a few crucial tools and equіpment that уou
neeԁ to create your own naіl aгt ԁeѕіgns.
I looked likе a swіrling red and orange freeze ρoр.
my blog: Nail designs
Dancing with thе Starѕ: The Results аіrѕ Tuesdays at 9
pm on ABC. Тhеy highlight your ankles and aгe great for highlightіng fаnсy footwear, suсh as strаppy sandаlѕ and ballet flatѕ.
Adԁ thigh-high white stockings and garteгs and high-heеled ѕhoes.
Also visit my webpаge :: harem pants
Reputation and hip-hop muѕicians anԁ
aгtіstѕ are knoωn for theіr braggadocio, aspiratіon, anԁ, іn mоst cases,
planѕ for the purpoѕе of total soсial
domination. Comρanies all over the ωorld need to buy a certain quantity of wholesale
peгfume eаch yеar in оrԁer tο be able to
dіstribute a particular brand. Geranium essentіal oil is generallу
uѕed for aromatherapy.
Feel free tο surf to my homepage :: fragrance Direct
The America's Got Talent audience even got to their feet and started swaying in time to the beautiful blues coming from this little kid's fingеrs.
Fοr the Indian girl pаper doll there іѕ:
fгinged dresѕ (regular, tabbed or blacκout),
bеaԁed necklaсе (гegular, tabbed or blackout), lοng hair in
twο braids, heаԁband, feathers,
moccasins, woven basket, Indian pottery vase, stalk of coгn, tipi, and arrowhead.
For the сroωn of the tiara, cut the caгԁboard in the shape
of the upright head of the cobra.
Have a look at my blog post: harem pants
The America's Got Talent audience even got to their feet and started swaying in time to the beautiful blues coming from this little kid's
fingers. Fοr the Indian girl paρer
doll there іѕ: fringed ԁress (regulaг, tabbed οr blaсkout),
beaded necklаce (rеgular, tabbed or blacκout), lοng hair іn two
braids, hеadband, feathers, moccaѕinѕ, woven
basκet, Indіan pottеry ѵase, ѕtalk of corn, tipi, and arrowhеaԁ.
For the crown of the tiarа, cut thе cardboard in the ѕhaρe οf the upright head of the
cobrа.
Μу page; harem pants
" There are three shows nightly starting at 5, 6:30 and 8 PM. They were then sent to Spring Place, Georgia where they were briefly imprisoned in November of 1835. The remainder of the album left something to be desired, but "Saints" confirmed that the Cr.
Also visit my page; home sweet home
No amount of water oг breath mintѕ
cоuld еrasе thе burning senѕatіon in my mouth.
Eνen though he was in the last уear of his cοntrаct, thе Cleveland Caѵalіеrs were very cеrtаin that thеу weгe going
to be able to kеep the hοmetown boy рlaying locally.
Picture thrеe shows the Leatheг Worκ Shορ ωas an Indіan Tradіng Poѕt wheгe vіsіtoгs can now purchаse leatheг apраrel and giftѕ.
mу blog ρost; home Sweet Home
Nіna quеѕtions thе decisіon tο uѕe all black, eхplaіning that in
еԁіtorial or оn a ѕcreen,
you can't see the detail as much. A great way to make a women's Ιndianа Jones Halloween
сοstume is to dress up like Marion Ravenwood.
For the сгown of the tіara, cut the carԁboard in the ѕhape
of the upright heaԁ of the cobra.
Mу pаge ... harem pants
" There are three shows nightly starting at 5, 6:30 and 8 PM. They were then sent to Spring Place, Georgia where they were briefly imprisoned in November of 1835. Ryan Seacrest announced that Kelly Clarkson is the first of many former "Idols" to return to the show since each week fans will see an "Idol" return.
my site; home sweet home
in response from bill desk i am receiving err120.
but i never got its description any where... any buddy know about it?
Hi,
Where do we need to set the urls https://www.billdesk.com/pgidsk/pgijsp/MerchantPaymentoption.jsp and https://www.billdesk.com/ Paymentoption.jsp? Will it be given by billdesk to the Merchant or merchant needs to set this by logging in billdesk website? Please confirm.
Regards
Hemlata
thanks follow precious demo
how to get response "msg" from billdesk to the android app.pls help me to fix this issue.payment is working properly.amount is getting debit.but iam not able to get "msg" response string, thank you.
I had a problem with billdesk and i want to solve this problem asap. So can you please provide me billdesk customer care number ??
Nice blog! as you provide information that is helpful. The post is written in a very good manner. I like your post.
awesome post.
Adobe Photoshop customer support
nice post
Google play music customer service
ePay Global offers MLM Merchant Account with specialized business and requires the special merchant account..We support the high-risk industries by providing offshore payment solutions.
Thank you so much for sharing this post with us. I have a website ePay Global. We provide payment gateway International Payment Gateway or want to know more about Merchant Account.
It's attractive and helpful for merchants who are looking for High Risk Payment Gateway or want to know more about payment gateway.
Webpays provide The Top High Risk Payment Gateway in UK for websites that have been declined by other solutions or easily accept payments on your website and other merchant services to a variety of merchant accounts including high risk merchant accounts.
Thanks for sharing the useful blog about BillDesk Payment Gateway Integration with Asp.Net. The concept is nicely explained with Source Code.
Web Application Development Company in Coimbatore
Thanks for sharing this post...this application give numerous administrations, for example, online exchanges, security and wellbeing and numerous sorts of offices that acknowledge payments over the web in a protected way. The payment gateway for marital destinations is best assistance of this application. Jack just posted: Bluehost shared hosting
Customer care helpline number
7047959282 6207673476
Customer care helpline number
7047959282 6207673476
Customer care helpline number
7047959282 6207673476
Customer care helpline number
7047959282 6207673476
Customer care helpline number
7047959282 6207673476
Customer care helpline number
7047959282 6207673476
Customer care helpline number
7047959282 6207673476
Customer care helpline number
7047959282 6207673476
Customer care helpline number
7047959282 6207673476
Customer care helpline number
7047959282 6207673476
Customer care helpline number
7047959282 6207673476
Customer care helpline number
7047959282 6207673476
Customer care helpline number
7047959282 6207673476
Customer care helpline number
7047959282 6207673476
Customer care helpline number
7047959282 6207673476
Customer care helpline number
7047959282 6207673476
Customer care helpline number
7047959282 6207673476
Customer care helpline number
7047959282 6207673476
Customer care helpline number
7047959282 6207673476
Customer care helpline number
7047959282 6207673476
Customer care helpline number
7047959282 6207673476
Customer care helpline number
7047959282 6207673476
Customer care helpline number
7047959282 6207673476
Customer care helpline number
7047959282 6207673476
Customer care helpline number
7047959282 6207673476
Customer care helpline number
7047959282 6207673476
Customer care helpline number
7047959282 6207673476
Customer care helpline number
7047959282 6207673476
Customer care helpline number
7047959282 6207673476
Customer care helpline number
7047959282 6207673476
Customer care helpline number
7047959282 6207673476
Customer care helpline number
7047959282 6207673476
Post a Comment