Page 1 of 1
HSBC API Interface
Posted: Wed Jan 06, 2010 3:49 pm
by Tubs
Hi I have interspire version 5.05 and recently wanted to check out the authenticity of a large transaction on my site with HSBC who process all credit cards transactions for us. They informed me that they could not verify, as they did not have sufficient customer details. We contacted the Interspire Help Desk to ascertain what is currently submitted by the cart to HSBC.
They confirmed the following info is submitted :
the credit card number, the currency, the amount, the expiration/issue date and the 3 digit security code from back of card.
The additional info HSBC require is:
Customer name,
address
and postcode.
My question is does anyone else have a merchant account with HSBC? If so how have you got round this. Or does anyone have a mod that I can add on?
Thanks for your help
Berni
Re: HSBC API Interface
Posted: Wed Jun 02, 2010 10:41 am
by grantg
BUMP - Developer needed for this exact purpose, (ISC 5.5.4), please PM me.
Re: HSBC API Interface
Posted: Wed Jun 02, 2010 11:21 am
by Tony Barnes
Looking at the HSBC checkout module, not a lot is sent. If you can get them to confirm how they want it formatting, then it should be easy enough.
This is what is sent as stands:
<Consumer>
<PaymentMech>
<Type DataType="String">CreditCard</Type>
<CreditCard>
<Number DataType="String">' . htmlentities($postData['ccno']) .'</Number>
<Cvv2Val DataType="String">' . htmlentities($postData['cccvd']) . '</Cvv2Val>';
$hsbc_xml .= ' <Cvv2Indicator DataType="String">';
if (!empty($postData['cccvd'])) {
$hsbc_xml .= '1';
}
else {
$hsbc_xml .= '2';
}
$hsbc_xml .= ' </Cvv2Indicator>
<Expires DataType="ExpirationDate">'.htmlentities($postData['ccexpm']."/".$postData['ccexpy']).'</Expires>';
if ($this->CardTypeHasIssueDate($postData['cctype'])) {
$hsbc_xml .= ' <StartDate DataType="StartDate">'.htmlentities($postData['ccissuedatem'].$postData['ccissuedatey']).'</StartDate>';
}
if ($this->CardTypeHasIssueNo($postData['cctype'])) {
$hsbc_xml .= ' <IssueNum>'.htmlentities($postData['ccissueno']).'</IssueNum>';
}
$hsbc_xml .= ' </CreditCard>
</PaymentMech>
</Consumer>
It follows that it will just be a case of adding in the name, address, and postcode, something like this (obviously just a guess at this stage!):
<Consumer>
<PaymentMech>
<Type DataType="String">CreditCard</Type>
<Name DataType="String">' . htmlentities($postData['name']) .'</Name>
<Adress DataType="String">' . htmlentities($postData['address']) .'</Adress>
<Postcode DataType="String">' . htmlentities($postData['postcode']) .'</Postcode>
<CreditCard>
<Number DataType="String">' . htmlentities($postData['ccno']) .'</Number>
<Cvv2Val DataType="String">' . htmlentities($postData['cccvd']) . '</Cvv2Val>';
$hsbc_xml .= ' <Cvv2Indicator DataType="String">';
if (!empty($postData['cccvd'])) {
$hsbc_xml .= '1';
}
else {
$hsbc_xml .= '2';
}
$hsbc_xml .= ' </Cvv2Indicator>
<Expires DataType="ExpirationDate">'.htmlentities($postData['ccexpm']."/".$postData['ccexpy']).'</Expires>';
if ($this->CardTypeHasIssueDate($postData['cctype'])) {
$hsbc_xml .= ' <StartDate DataType="StartDate">'.htmlentities($postData['ccissuedatem'].$postData['ccissuedatey']).'</StartDate>';
}
if ($this->CardTypeHasIssueNo($postData['cctype'])) {
$hsbc_xml .= ' <IssueNum>'.htmlentities($postData['ccissueno']).'</IssueNum>';
}
$hsbc_xml .= ' </CreditCard>
</PaymentMech>
</Consumer>
Re: HSBC API Interface
Posted: Wed Jun 09, 2010 12:16 pm
by Tubs
Hi, I'd be really interested to know if anyone manages to get the HSBC API interface working. I have hired 2 companies both of which have failed to get it working properly. Now HSBC want to start levying a non compliance charge for failing to comply with PCI DSS Payment Card Industry Data Security Standards.
Tubs
