Author Topic: where should I ask for this payment module configuration?  (Read 2952 times)


  • Beginner
  • *
  • Posts: 11
where should I ask for this payment module configuration?
« on: October 15, 2008, 20:11:30 pm »
Create new payment model
Dear all my friends,
I want to ask for the configuration of exist virtuemart payment module or the require change to create a new one for this payment method.
This payment module works on the basis of webservices and the transactions are as followed.


Reference number: 20 character string which bank gives after a transaction to coustomer and then to shopper. (Electronic receipt)
Reservation number: code which shopper reserved for any transaction of customer, and customer could pursue his order. In fact it is transaction ID in shopper side.
Buyer Account Number: Account number which customer pay money from that.
Merchant ID: the combination of Terminal Id and Acceptor Id which bank give to shopper.

1.   shopper lead the customer to final payment page. No shopper must:
a.   redirect customer to electronic receipt publish website. The most important parameters which must POST to the website are:
i.   Total amount
ii.   Reservation number
iii.   Merchant ID
b.   Electronic Payment Receipt Request: Customer fill his card number:
i.   PAN (card number)
ii.   PIN (Password)
iii.   EXP Date
iv.   CCV2
The shopper don’t need to do any job here.
c.   After Payment process bank’s website redirected customer to shopper site. Shopper get the passed parameters from bank website.
i.   Reservation number
ii.   Electronic receipt
iii.   Transaction status (successful or error occurred)

d.   Paying attention to transaction status shopper could understand the successful or failed situation of payment. And here if the payment is not successful shopper MUST tell the customer what happened. If the tranaction is OK , shopper MUST search Electronic Receipt in his database Because of preventing DOUBLE SPENDING. After that if this is not Double Spending Shopper called VERIFY WEB METHOD with these parameters:
i.   Electronic Receipt
ii.   Merchant ID

Shopper MUST call this method and don’t trust just to the transaction result .Also, Shopper must call this method in SSL connection.

e.   Shopper on the result of recent method calling decides that the customer paid correct total amount. If the transaction is successful , the shopper must save Electronic Receipt and Buyer Account Number to his own Reservation Number Record in his Database.

If the outcome of Verifytranaction Method is minus (-), it means that Error Occurred.
And if the outcome is Plus(+) it shows the amount of receipt.

•   Used electronic receipt saved and must check in shopper side but not in bank side.
•   If the Verifytranaction outcome in any cases do not received by shopper (for example Timeout) shopper must retry for specific times. But this is not for errors. And if at last shopper could not received the result , he must refused the tranaction.

Webmethods Descriptions:
•   Function for verifying a tranaction:

Double verifyTransaction (
String RefNum,
String MerchantID,

Parameter   Type    Description
Refnum   String   20charecter electronic receipt which you tend to accepted with bank
Merchant ID   String   Merchant ID
Verifytranaction   Double   Outcome>0: total paid amount
Outcome<0: Error Code (show below)

•   Function for reverse tranaction:

int reverseTransaction (
String RefNum,
String MerchantID,
String Password,
double RevAmount,
Parameter   Type    Description
Refnum   String   20charecter electronic receipt which you tend to accepted with bank
Merchant ID   String   Merchant ID
Password   String   Shopper Password
RevAmount   Double   Total amount which you want to reversed
ReverseTranaction   Int   Outcome=1 : reversed successfully
Outcome<0 : Error Occurred (shown Below)

Error Description:
Code   Description
-1   Bank Internal Error
-2   Not occurred now
-3   Input parameters type mismatch
-4   Merchant Authentication Failed
-5   Database Exception
-6   Receipt reversed alredy
-7   Receipt  is Null
-8   Input parameters is too big.
-9   Incorrect character in reversed parameters
-10   Electronic receipt is not base64 (incorrect characters)
-11   Input parameters length is less than requirement
-12   Reversed <0
-13   Revered amount is more than receipt  total amount
-14   Undefined transaction
-15   Reverse has “. “
-16   System Internal Error
-17   Undefined reverse tranactoion

Parameters description:
Shopper and bank parameters.
These parameters must be sending to bank site with POST method and related to transaction.
Concept   Parameter Name
Amount   Amount
Reservation Number   ResNum
MerchantId   MID
Merchant machine URL which transaction result will POST to this page.   RedirectURL

Returned Parameters To the Shopper by Bank:
Concept   Parameter Name
Reservation Number   ResNum
Reference Number   RefNum
Tranaction Stataus   State
•   If RefNum is Null it means that customer could not pay money.
•   If State is OK it means that the transaction is finished successfully. therefore the successful transaction is one which State is Ok and RefNum field is not NULL.
•   Even the session management of shopper is based on Cookies , ResNum must pass to the Bank because if the customer spent a lot of time in Bank site the session would be expired.
•   The system is case sensitive. So pay attention to the Parameters Name.
•   The State Field is described here; the shopper must tell the customer what error occurred.

State Field Description:
Concept   Description
InvalidAmount   Reversed amount is more than transaction amount
InvalidTransaction   Reversed Request without major tranaction
InvalidCardNumber   The card number is incorrect
NoSuchIssuer   There is no publisher with these ID
ExpiredCardPickUp   The card is expired.
AllowablePINTriesExceededPickUp   The Pin is entered incorrectly 3 times . the card is banned
ExpiredAccount   The account is expired.
IncorrectPIN   Coustomer entered PIN incorrectly.
TransactionCannotBeCompleted   Transaction Authorized but the receipt could not published.
ResponseReceivedTooLate   Transaction Timedout In Bank system.
SuspectedFraudPickUp   Coustomer did not fill info correctly (ccv2)
NoSufficientFunds   Not enough Account balance
IssuerDown_Slm   The customer bank did not respond.

Full php test code is enabled too.
What should I do?

[attachment cleanup by admin]