What is the difference between the Transaction Date and the DateSettlement?
Transaction date is the date of authorisation, date settlement is the date that the transaction is applied to the merchant bank account.
There is no input field/property to allow the card type to be specified, Visa, MasterCard etc?
You do not need to specify the card type. Payment Express is online to the acquirer and the card type is determined from the card number. Card type used is returned for successful transactions in the Cardname property.
Can transactions be performed using a specified currency?
Yes. Current banks that can provide multi-currency services can be found here. Component references will have the parameter and currency code that needs to be specified with each transaction.
Can we get our money from the cards deposited to an account other than own bank account? Can we set it up so that that all proceeds are deposited to an account other than our own - our suppliers bank account for example?
Yes. Settlement may be made to a bank account other than your own. The "Merchant" relationship remains between yourself and your bank though. Contact your bank for further details.
Does my application need to retain the original card number in order to process a completion or refund transaction?
NO. Do not store card or expiry details, rather store just DPSTxnRef returned by the original transaction.
How does Payment Express handle Refund Transactions?
A refund transaction transfers (refunds) money from the Merchant account to a cardholder account. This transaction is used for example, when goods are returned or in other circumstances at the discretion of the merchant. Refunds need to be matched with their original purchase/complete transaction, which is returned its response as DpsTxnRef. Each component reference has a section on doing refund transactions. Also merchants have access to the Payment Manager to handle refunds manually, if they do not wish to build their own interface.
Is Cardholder name field validated?
No, the cardholder name is not validated. Only the card number and expiry date are verified by your bank. Also CVC and 3D authentication if you are enabled for those.
How long does it take to authorise a transaction?
Transactions are normally processed within 3-5 seconds.
Is there a message that I can use to reassure my customers that their transaction will be secure?
Our privacy policy (http://www.paymentexpress.com/privacypolicy.htm) should be linked on your payment page.
Can DPS handle multiple simultaneous transactions?
Yes, we can. However each transaction needs to be processed by an electronic merchant number given to us by the merchant. So, how many simultaneous transactions we can accept depends on how many electronic merchant numbers you have.
Do you have any products that do not need DPS or 3rd party software?
PX Post is our platform independent product, which is an XML interface at our host. All you need to be able to do is send us XML, which you can wrap in the language of your choice.
What programming languages do you support?
Developers can use virtually any programming language to interface into the Payment Express payment gateway. Common examples that are being used are PHP, CF, ASP, Perl, Java & .NET, which we generally have samples for.
How does 3D secure authentication work?
It requires the card holder to enter a password (only if the card holder is enrolled) as an additional step to entering their credit card details that is verified by the issuing bank. Once the issuing bank has verified the password, the user is then redirected back to the merchants web site.
What DPS products support 3D Authentication off the shelf?
3D Authentication is enabled off the shelf with the Hosted Payments Page (where payment is taken on our secure pages).
What DPS products support 3D secure authentication?
Any integrateable products that can ask customers for their password in real time can support 3D Secure authentication. It has to be real time, as passwords cannot be stored and aren't passed through a merchant application. An MPI (merchant plug in) will need to be present and integrated with our products if it doesn't come pre-configured with our own.
Do file names matter to the Batch Processor?
File names for batches only matter locally in preventing the batch processor client from processing the same file twice. However, the actual name of the file does not impact upon the operation of the processor.
When using DPSBAT Batch Processor, does the Batch Processor ensure that files are not processed twice or must my application remove processed input files from the directory before starting a new processing run?
The DPSBAT Batch Processor ensures that records are processed once only and includes full power-fail recovery. If power fails during a processing run, processing is resumed after restart at the correct record. DPSBAT will not process files twice as it ignores all files with _OUT as the last part of the filename and files are automatically renamed to have this extension as part of processing.
I am the IT support engineer here and have been installing your PX server and Batch Processor software as per the instructions I was sent. However, I cannot ping the IP address's you have listed.
You actually will not be able to ping us, as we only have a few ports open and the rest are behind a firewall. First you have to see if your own firewalls are letting you communicate outside on port 3007. Please telnet to our host instead on this port.
Is CVC always validated?
CVC2 isn't validated by all banks/acquirers, so you should ask your bank if they support it. CVC2 should be requested even if your bank may not support it, as all cardholders will have this additional verification number.
Is CVC a required field for transactions?
CVC2 isn't mandatory even if your banks supports it. However CVC2 is a compulsory field for merchants using Maybank and you will receive a YO response code back from DPS if nothing is set.
The following error occurs when we try to use the DPSAUTH COM Object: Server object error 'ASP 0193 : 80020009' OnStartPage Failed /TestDPS.asp, line 25 An error occurred in the OnStartPage method of an external object.
This error occurs when Session State is disabled on the web server. To fix this problem either Enable Session State on your web server or upgrade your DPSAUTH COM Object to v2.22+
DPSAuth returns 'Transaction Approved' no matter what of card number is entered.
The DPSAuth control is running in "simulator" mode.
Using the DPSAuth.DLL COM Object, transactions are failing with ResponseCode "S4" and "S5". Why is this failure occurring?
"S4" and "S5" indicate that DPSAuth.DLL COM object has established a connection to the Payment Express Server installed at the Merchant Site, but that the link upstream from the Payment Express Server to the Payment Express Host is not active or online.
What field do I use to set the currency?
Currency
A 32 error message appeared during the COM object installation and I need to know what to do to resolve the problem.
Most error messages that occur during installation are related to the presence of previous versions. It is important to uninstall these programs before installing or use the current version installed if it is current.
What ports does my firewall need to be able to access?
The TCP/IP port 3007 needs to be open for the Payment Express server to connect to our host. The DPSAuth COM object needs to have access to port 3004 on the local network.
Using dpsauth.asp Active Server Page with Payment express results in the following error displayed on the browser: Server object error 'ASP 0177 : 800401f3' Server.CreateObject Failed dpsauth.asp, line 19 Invalid class string
The DPSAUTH.DLL COM object is not properly installed on the web server executing the ASP. Reinstall the DPSAUTH.DLL COM Object or use REGSVR32 DPSAUTH.DLL to register the COM object manually.
I am testing my integration with your gateway and am receiving back a response code of D2 and response text of declined. What am I doing wrong?
You should contact DPS to confirm your Post Username and Password are correct, as the ones you are using are not authenticating.
I am testing my integration with your gateway and am receiving back a response code of D5 and response text of declined. What am I doing wrong?
You should contact DPS to confirm your Post Password is correct, as the one you are using are not authenticating.
What field do I use to set the currency?
Currency
What ports does my firewall need to be able to access?
The standard ports (80 and 443) for https posts and hosting a web site.
A 32 error message appeared during the COM object installation and I need to know what to do to resolve the problem.
Most error messages that occur during installation are related to the presence of previous versions. It is important to uninstall these programs before installing or use the current version installed if it is current.
The only response I receive when testing transactions is 99. Why is that?
Your payments aren't reaching the DPS gateway. This is usually because you are being blocked by your firewall or proxy server. Get the output of the TraceData property for a better understanding of what is blocking you.
For the Auth SSL Java Bean, the configuration states details for a proxy, what do we do if we do not have a proxy?
The proxy server is the proxy server of the local network, which is used to connect to the Internet rather than the DPS gateway server. The java bean will connect to DPS gateway server via the local proxy server.
Can you clarify whether the Javabean is an enterprise Javabean, or just for use in a standalone Java application.
The AuthSSL Java bean is a standalone java application which needs JRE 1.4 or above to run, can be embedded in any Java application, stand alone or Java servlet.
I am testing transactions to your gateway with 20 simultaneous connections, but I am getting exception errors in the Java Bean. Can you explain why?
The Java Bean has been limited to 10 concurrent connections, as in a real world scenario this would be the maximum ever needed. You would need 10 electronic terminal numbers with your bank to process 10 simultaneous transactions at once as well.
What ports does my firewall need to be able to access?
The standard ports (80 and 443) for https posts and hosting a web site.
I am testing my integration with your gateway and am receiving back a response code of D5 and response text of declined. What am I doing wrong?
You should contact DPS to confirm your Post Password are correct, as the one you are using are not authenticating.
What field do I use to set the currency?
Currency
What shall we send in ConfigChecksum field?
Space, blank or any alphanumeric characters are acceptable.
Does the completion amount have to be the same as the authorisation amount?
The Completion amount can be different to the authorisation - the auth merely reserves funds prior to the completion.
What are the benefits of using Auth/ Completion transaction types?
The meter could be programmed to automatically send an auth after the card is inserted and while the user is choosing parking time span, the meter receives the results of the auth (typically 3-4 seconds). This means that when the user has selected the time to park (and the final amount is then known to the meter), the meter already has the results of the authorisation - if a stolen or expired card has been used the transaction does not proceed further, otherwise for an approved authorisation, the meter can proceed to print the ticket and, if no printer malfunction and ticket has been dispensed, the completion can be sent. The cardholder is provided with the impression of an instant issuance of ticket - same speed as coin is most cases. If the ticket cannot be issued, then the completion phase is not sent - the auth does not result in a charge being applied to the cardholder account unless it is followed by an auth.
In the specification there is mention of an Account field. What should be used here?
This should be left empty, as it is reserved for future use.
We are going to put the version number inside our hello message, will DPS system return new software version of our parking machines as soon as finds that newer version was used?
The contents of this message are such that Versions etc can be used for optional features such as new firmware downloading - in this scenario the DPS host can detect a software version of an installed vending device and make available a new software release via GPRS. This is an optional feature and for connectivity checks this can be ignored.
If we would like to leave merref field empty, what shall we put in?
The MerchantReference may be left empty - it is free text (max 64 character) that appears on merchant reconciliation reports. It could be a tax invoice number (from receipt etc).
What is this ~123~ from the example?
The 123 is the amount to pre authorise with implied decimal place. - Eg:AUD$1.23.
What shall we send in track1 field if it is empty?
Null is recommended ~~ It's only handy to have the track1 info if available) for reporting purposes and to assist in customer queries from cardholders.
What shall we send in SwVersion, what is the purpose of this field?
The hello message is optional. It is our experience that certain GPRS modems, for example the GT47 from m2mconnectivity, do not reliably indicate to the RS232 attached device that an established TCP socket has been closed by the remote end or network. This means the vending device does not learn about the connection failure until after a send is attempted. If this a send containing a transaction, a very long period (>14 seconds) may be needed for the device to re-establish connectivity. This would be unsatisfactory for the cardholder. DPS would recommend periodic sending of a hello message by the vending device to check that connectivity is available every 30-60 minutes or so. If a hello message fails (no response received), the device can reset the modem as needed. The contents of this message are such as Version etc can be used for optional features such as new firmware downloading - in this scenario the DPS host can detect a software version of an installed vending device and make available a new software release via GPRS. This is an optional feature and for connectivity checks can be ignored.
What is the difference between PX Post/PX Toolkit and the Hosted Payments Page?
The difference is that PX Post takes payment on your secure payment page and you get the response given back to you in the post, whereas the hosted payments page takes payment on our secure servers after being forwarded from your site with the order details and we send you back the response to your insecure pages etc.
I have set the response pages URLs in my transaction request form, but I'm not getting redirected back to the pages i asked for.
You need to use a fully qualified address for example http://www.yourwebsite.com/response.xxx. You cannot just use response.xxx etc.
How do I get my logo to show on the Payments Page and change the titles for TxnData1,2 and 3 fields?
You can send any changes to these fields by sending support@paymentexpress.com the changes and images you would like made.
What ports does my firewall need to be able to access?
Only the standard port 80 for http posts.
What field do I use to set the currency?
CurrencyInput
What happens if the customer doesn't click next on the payment page and closes their window. How will the response message get back to my success/failure pages?
There is a background post as well that sends the response to your site that you requested and the customer has also seen the response by that time. Clicking the next button to return to your site will also send a redundant post.
Why is DPS calling my success/fail url TWICE in succession?
This is deliberate redundancy - see http://www.paymentexpress.com/blue.asp?id=d_pxaccess, under "Fail Proof Result Notification". By doing this when a customer submits a credit card for processing your site is guaranteed to receive notification of the transaction. Without this feature there would likely be a problem if a cardholder failed to return to the merchant site having submitted a card e.g. he might close his browser. Generally merchants, quite properly, rely on this notification to know when to take action on orders. The two calls we make to the URL are identical, so we advise developers to simply disregard the second post if and when they get it.
I am testing on my local machine and I am not receiving your background post, only the redundant response when I click next. Why is that?
Your web site needs to be a publicly accessible domain name/I.P and on the normal web publishing port (80), as the DPS Host needs to be able to find this address on the internet. However, when the user clicks "next" the response is returned with the browser.
When i send my total amount over to DPS if its in the high figures like over $2,560 for example it comes out on the DPS page as saying total $2
This is a formatting error of your amount string. The amount cannot have commas or dollar signs in the string. Your amount should be sent to us in the format 2560.00
I get the following error when submitting the payment with the PHP PX Access, what would be wrong? Fatal error: Call to undefined function: mcrypt_module_open() in ....
You need the mcrypt library package, if your version of PHP doesn't come with it installed. Have a look at your php.ini. Make sure extension=libmcrypt is there and not commented out.
I am using the PHP version of the Hosted Payments Page and when I try and process a transaction I get an NK error, what is the problem?
If you are just testing your payment page, you might have got the PX Access key wrong. You should contact DPS to confirm the key, however if this is not the reason, you should check the code for comments about your PHP version. The current sample changes the code automatically for the php version you are using.
I am currently getting the following web server error message before going to your payment page using PHP. Warning: unpack(): Type H: outside of string in ....
You need the mcrypt library package, if your version of PHP doesn't come with it installed. Have a look at your php.ini. Make sure extension=libmcrypt is there and not commented out.
Why cannot i use a versions below JDK 1.4 for the Hosted Payments Page using Java?
PX Access java can only run native on 1.4 jdk, as no 3des encryption functions on 1.3. However, you can install Java Cryptography Extension (JCE)
Is version 1.3.5 of the PX Access Com object compatible with VB and ASP code written for 1.2.2?
The new Com object uses the triple DES encryption, which is a 24 byte session key and 8 byte MAC key to check if the message matches correctly. That greatly improves the channel security. You will need to grab a new 64 digit key from DPS to install with the new COM. Additionally your response pages need to set the UserId parameter with the COM to decrypt the response.
My understanding was that DPS would be hosting the payment page for us. Why do i need to install the COM object?
For windows systems the COM object is required to handle the 3DES encryption in the URL string given to our Host and the response given back, which the COM has to decrypt from the response string. It has built in method calls and exception handling, so there is less programming for the merchant to do. If you cannot install any COMs on your host for any reason, you would need to use our platform independent products like PX Post with your own SSL certificate. Exception handling would need to be written by yourselves as well.
A 32 error message appeared during the COM object installation and I need to know what to do to resolve the problem.
Most error messages that occur during installation are related to the presence of previous versions. It is important to uninstall these programs before installing or use the current version installed if it is current.
I develop an application using Borland Delphi. How do we integrate this application with Payment Express?
Delphi versions 3.0 or greater support Microsoft ActiveX and COM objects. The ActiveX control is designed to be used for User Interface applications
How do I get a declined response in "EnableTestMode"?
The test to generate a declined response is an amount with any dollars amount and 76 cents; ie 8.76. You should get an approved response if you try any other amount, for example 8.12 etc
How are refunds carried out by the merchant?
Refunds are done like normal purchase transactions (except TxnType will be "Refund"), where the credit card is keyed in or received by swiping the card (track data). A supervisor card is needed for each terminal in addition to this, which you need to request from your bank.
What ports do we need open on our internal firewall (LAN/WAN) for communication between the Pinpad services on each terminal to the EFTPOS Communication Server?
Port 62 is used on the internal network and computers.
What is the HostId to use?
This should be 001 for live ETSL transactions. If you are using the test host with test ETSL numbers, this will be 541.
What ports do we need open on our external firewall for the Eftpos Communication Server?
The communication server uses port 61 to communicate to the banking network.
Do we need the Eftpos Communication Server and Pinpad service installed at anytime during testing?
The software components will only be needed when you are ready to roll out the Eftpos terminals. For integration purposes you can "EnableTestMode" and use the PinPad simulator. A development Pinpad can be purchased however and will be refunded when returned to us, if you need to test in a live environment.
I get a "PX offline" error when trying test transactions. What is the cause of this?
The terminal ActiveX control is for the developer to mimic the eftpos transactions without Pinpad and Eftpos communication server environment. You need to set the property EnableTestMode = true to set the activeXControl to test mode, otherwise it will try to connect to Eftpos communication server and will cause a "PX Offline" error message.
I have set EnablePrintReceipt to true (1) should it now print the receipt for me?
The receipt will be printed if the "EnablePrintReceipt" set to true in the live environment. But the receipt printing is controlled by Pinpad server and at the moment you haven't installed the Pinpad server and printer, so there's no receipt printed.
How do we test without the PinPad terminal being connected?
Ensure the "EnableTestMode" property is always set to true (1) prior to calling any method.
When I use my Eftpos client/POS, it freezes when it tries to do a transaction. What is the problem?
You need to have write/modify permissions on the EFTPOS installation directory for the system to work, as it needs to store temporary data on the system.
What are the minimum system requirements for EFTPOS?
You need to have either Windows 2000, 2003 or XP with Internet Explorer 6 or greater to run Payment Express EFTPOS
In order to send/post a transaction, an SSL socket must be open between our system and your gateway. My question is whether, once that socket is open, we can do multiple interleaved transactions (socket write/read operations). Some gateway servers shut down a connection after a single transaction is processed or expect the client to close the connection. Other servers permit the connection to remain open and support interleaved transactions. How does your server work?
You can keep the SSL connection by specifying header information: Connection: Keep-Alive\r\n. Our PXPost server is a standard HTTPS server. You may need to specify header information every time before you post a transaction.
I am testing my integration with your gateway and am receiving back a response code of D2 and response text of declined. What am I doing wrong?
You should contact DPS to confirm your Post Username and Password are correct, as the ones you are using are not authenticating.
I am testing my integration with your gateway and am receiving back a response code of D5 and response text of declined. What am I doing wrong?
You should contact DPS to confirm your Post Password are correct, as the one you are using are not authenticating.
What ports does my firewall need to be able to access?
The standard ports (80 and 443) for https posts and hosting a web site.
What field do I use to set the currency?
<InputCurrency>
What is the difference between PX Post and PX XML?
Although both products use an XML interface, PX XML needs to connect to PX Server/Daemon, whereas PX Post connects directly to our host.
Can i have the Payment Express Server installed on a different machine to my client application?
Yes. You need to check "Enable Second Listener" on the "Local" tab of the PX.EXE control panel. Payment Express will now listen by default on the PC's given IP Address.
When I start the Payment Express Service it instantly changes the start up type to DISABLED.
The Payment Express Service is designed to DISABLE itself if it does not connect for 7 straight days. To re enable the service you will need to delete the "LGNTIM" registry string value. This is found in the registry at HKEY_LOCAL_MACHINE\Software\DirectPaymentSolutions\PX\SERVER\LGNTIM. You can now restart the Payment Express Service.
What changes need to be made to the firewall?
The Payment Express Server needs outbound access to port 3007 (http) on the following internet addresses: 219.88.103.203, 219.88.103.202, 210.54.253.165
We are running a web farm for a number of merchants. How do we use Payment Express to ensure each payment is settled to the appropriate merchant bank account?
The DPSAUTH.DLL COM and the DPSAUTHP Site Server Plug-In expose an "Account" property. This property must be set with the correct merchant account number from 1-9999 prior to starting the transaction. The account is mapped to a unique virtual terminal or group of virtual terminals at the Payment Express Server and the terminal/terminals allow settlement to any bank account. As each new merchant is added to a web farm Payment Express, terminals and a unique account number (unique for a given payment express service) is allocated.
We have upgraded our kernel version on our Linux server and noticed the following error occurring with the Payment Express daemon. 09:31:17 00000420/000002b0>recv() Socket:580 Error:10054 09:31:17 00000420/000002b0>readsocket failed -disconnecting
The PX daemon may not support your kernel version. Only versions up until 2.4.18 are supported. Versions above are best to try our Cross platform product called PXPost, which involves no DPS or 3rd party software.
How secure is the connection from the PX server to the Payment Express gateway?
The PX server uses a 168bit encrypted tunnel to communicate with the Payment Express Host. This provides more than adequate security and is similar to transacting via an SSL certificate.
What field do I use to set the currency?
<InputCurrency>
Why isn't Payment Express server receiving transactions from my new version of PHP code (4.2 and above)?
If the PX Server is not receiving transactions and you can establish a telnet session or post transactions to the PX Server the explanation is most likely to do with the new version of PHP. Different versions of PHP use different methods to create and write to a socket. Our sample uses fsockopen, fputs, fgets and fclose. But more recent versions of PHP e.g. v4.2.2 + errors occur when trying to use this method. In the past customers have been able to solve this problem by rewriting the example using socket_create, socket_connect, socket_write etc..
What is the difference between PX Post and PX XML?
Although both products use an XML interface, PX XML needs to connect to PX Server/Daemon, whereas PX Post connects directly to our host.
Can I use http headers or a connection which uses the HTTP protocol for the XML interface?
No, the transaction information needs to be in raw XML when a socket connection is made through to the PX Server.
I'm currently getting a declined response for a test transaction for $15000.00, why is that?
Yes, our test system gives back a declined for amounts over $10000.00. On live accounts, we accept amounts to 99999.00 however.
What are a few tests that I can perform in addition to the ones I have tried?
You could put an invalid expiry date or an invalid card range. All these tests will not give back an authorized response.
If we wish to generate a declined transaction, how should we test?
Any amount with 76 cents will generate a declined message. Also an amount over $10000.00 will give back a declined response. Obviously these triggers will not happen with a live account.
What credit card and expiry date should we be testing with?
Only pre-approved 'test card' numbers provided by DPS can be used for testing,
within test environments. All test accounts aren't linked to a merchant account to actually verify the card. We recommend using the test card 4111111111111111 for Visa, 5431111111111111 for MasterCard, 371111111111114 for Amex and 36000000000008 for Diners. These can be used with any current expiry,
and are suitable only for DPS test accounts.
What is the difference between Purchase and Auth/Complete transaction type payments
Purchase debits the card in real time, if you need to cancel the transaction because you do not have the stock or just not willing to ship the product you need to do a refund. Authorisation on the other hand, transfers no money. It validates the card and guarantees it will be approved for the amount and ties the funds up for seven days. If you do not wish to take money from the client you literally do nothing, and the hold on the money will expire after 7 days. If you wish to take payment you can complete it within 7 days.
I wish to switch from "Purchase" type transactions to an Auth/Complete transaction type model. Please tell me the process.
You will need to contact us to turn on any new functionality and receive advice on what needs to change in your systems. Also your electronic merchant number with your bank needs to be set up for the "tipping" (Auth/complete) transaction type. DPS can help confirm this.
What is the difference between an Auth transaction and a Validate transaction?
Validate just makes sure it is a valid card and authorizes a dollar charge, so that you know it isn't an expired card or stolen etc. It is used for token billing purposes as a 1st transaction to store a billing id at the same time. Alternatively you could charge the card with a purchase.