Developer FAQs

General

Can Windcave 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.

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.

Do you have any products that do not need Windcave or 3rd party software?

PxPost 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.

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 Windcave 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.

How long does it take to authorise a transaction?

Transactions are normally processed within 3-5 seconds.

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

Is there a message that I can use to reassure my customers that their transaction will be secure?

Our privacy policy (Privacy Policy) should be linked on your payment page.

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. Windcave 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.

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.

What programming languages do you support?

Developers can use virtually any programming language to interface into the Windcave payment gateway. Common examples that are being used are PHP, CF, ASP, Perl, Java & .NET, which we generally have samples for.

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 Windcave 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 Windcave to confirm your Post Password is correct, as the one you are using are not authenticating.

The only response I receive when testing transactions is 99. Why is that?

Your payments aren't reaching the Windcave 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.

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.

Ecommerce API

Hosted Payment Page

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 Windcave Host needs to be able to find this address on the internet. However, when the user clicks "Next" the response is returned by the browser.

What is the difference between PxPost and the Hosted Payments Page?

The difference is that PxPost 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.

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 [email protected] the changes and images you would like made.

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.

What field do I use to set the currency?

<CurrencyInput>

What happens if a customer doesn't click "Next" on the payment result page and/or closes their window?

This is where Fail Proof Result Notification (FPRN) comes in. A background message is sent from the Windcave server to the merchant's nominated Success/Failure page as soon as a transaction is processed. This feature is enabled by default for all Windcave Hosted accounts. The merchant's website should be able to handle multiple responses for a transaction.

What ports does my firewall need to be able to access?

Only the standard port 80 for http posts.

Why can't Internet Explorer display my success or failure pages?

Internet Explorer limits URLs to 2083 characters, above which it will display a page stating that 'Internet Explorer cannot display the webpage'. The lengths of the query strings used on the payment pages and of those appended to the success and failure URLs can sometimes cause the URLs to exceed the maximum allowable in Internet Explorer. This will generally only occur when large amounts of transaction data are being passed to Windcave' and are subsequently encrypted and become part of the query string. Please contact the Windcave support team to ask about URL compression or reduce the amount of transaction data being passed in optional fields.

Why do amounts like $2,500 come out as $2 on the payment page?

This is due to a formatting error of the amount string. The amount cannot have commas or dollar signs in the string. The amount should instead be in the following format: 2500.00

Why do I get an error page stating that the 'Root element is missing'?

When the URL is provided as part of an XML document certain characters such as the ampersand must be escaped in order to maintain the integrity of the document. Before directing the browser to the URL provided the escaped charaters should be unescaped.

Why is Windcave calling my success/fail url TWICE in succession?

This is deliberate redundancy - see http://www.windcave.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.

PxPost

What field do I use to set the currency?

<InputCurrency>

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 Windcave 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 Windcave 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.

Integrated EFTPOS

Windcave CL ActiveX COM object

I develop an application using Borland Delphi. How do we integrate this application with Windcave?

Delphi versions 3.0 or greater support Microsoft ActiveX and COM objects. The ActiveX control is designed to be used for User Interface applications

Windcave EFTPOS

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.

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.

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 do we test without the PinPad terminal being connected?

How do we test without the PinPad terminal being connected?

I get a "Windcave 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 "Windcave 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.

What are the minimum system requirements for EFTPOS?

As the software installs as a service, it will only run on NT platforms. Recommended platforms are currently:

Windows Vista to Windows 7

Recommended minimum RAM : 1GB

Recommended minimum CPU: 2.4GHz single core

You will need administrator access to install the software and permanent write privileges for the user on the system (install volume) for temporary storage of transaction information.

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.

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.

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.

GPRS

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.

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).

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 Windcave 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 Windcave 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.

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 complete.

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 ConfigChecksum field?

Space, blank or any alphanumeric characters are acceptable.

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. Windcave 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 Windcave 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 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.

3D Secure

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.

Which Windcave products support 3D secure authentication?

The Windcave Hosted Payments Page (where payment is taken on our secure pages) and the Windcave Webservice are both capable of handling 3D Secure Authentication.

CVC2

Is CVC a required field for transactions?

Yes, CVC/CVC2/CVV2 is now a mandatory field and applies to all electronic commerce merchants. The mandated date may vary from region to region, so please check with your bank if unsure.

Is CVC always validated?

CVC2 may not be validated by all banks/acquirers, if unsure, please check with your bank.

Transaction Types

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.

Merchants and developers can find answers to some of their commonly asked questions.