I am trying to implement Hosted Payment Page method for Web store (The configuration is Web browser - My Server - https:// certtransaction.hostedpayments.com gateway).
My workflow is :
1. Client (web browser) sends /payment request (our internal method) to Server.
2. Server sends successfully TransactionSetup xml request to https:// certtransaction.hostedpayments.com., got the TrasactionSetupID and reply it to the client.
3. Client redirects to Hosted Pay Page form, user populates the form and the gateway redirects back with HostedPaymentStatus=Complete status and other params.
4. Client sends /payment_complete request (our internal method) to confirm the transaction (sends TrasactionSetupID).
All is ok before the next step:
5. Server have to be sure that the operation is completed successfully (then it will create the payment record in our DB). I am trying to send TransactionQuery requests as it's described in your Express Interface API v2.8.4.pdf document: "The POS can now programmatically query Element’s real-time reporting API, TransactionQuery, using the TransactionSetupID for the specific purchase, to obtain the asynchronous result of the payment transaction."
I've sent the request by analogy to TransactionSetup one:
<TransactionQuery xmlns="https://transaction.elementexpress.com">
<Credentials>
<AccountID>1046228</AccountID>
<AccountToken>account_token_is_here</AccountToken>
<AcceptorID>acceptor_id_is_here</AcceptorID>
</Credentials>
<Application>
<ApplicationID>8489</ApplicationID>
<ApplicationVersion>1.0</ApplicationVersion>
<ApplicationName>Web</ApplicationName>
</Application>
<Parameters>
<TransactionSetupID>transaction_id_is_here</TransactionSetupID>
</Parameters>
</TransactionQuery>
the request params are:
url: "https://certtransaction.elementexpress.com/",
method: "POST",
headers: {
"content-type": "text/xml;charset=\"utf-8\"",
"accept": "text/xml"
}
It replies with the body message:
<Response xmlns='https://transaction.elementexpress.com'><Response><ExpressResponseCode>103</ExpressResponseCode><ExpressResponseMessage>The 'https://transaction.elementexpress.com:TransactionQuery' element is not declared.</ExpressResponseMessage></Response></Response>
What am I doing wrong? Thanks in advance.
Vijayashanthi,
"Invalid AccountToken" indicates an error in your credentials- AccountID, AcceptorID, AccountToken. Please ensure you are using valid credentials for the Cert platform, typically AcceptorID 3928907 or 874767###.
If you don't have test credentials yet, you may create a free test account at the following link:
Create a Payment Processing Test Account | Worldpay Integrated Payments