The DIBS payment gateway offers a facility for subscription payments/transactions, a so-called ticket transaction. In short, this means that the customer's credit card is authorised once, and the details for the credit card (the ticket) may then be used for more than one transaction on several occasions in the future, e.g. a monthly payment of $15 to cover your cell-phone bill. This allows the customer to continuously pay for goods or services without having to send his/her credit card details again and again.
The credit card details are stored on the DIBS server in accordence with the requirements from the card schemes. Tickets for which the credit card has expired are also considered expired, and the customer has to make a new ticket with another card to re-establish his/her subscription payment.
Below is an example of a payment authorized using ticket_auth.cgi.
<form action="https://payment.architrade.com/cgi-ssl/ticket_auth.cgi" method="post"> <input type="hidden" name="merchant" value="123654789" /> <input type="hidden" name="ticket" value="270000543" /> <input type="hidden" name="amount" value="1000000" /> <input type="hidden" name="currency" value="208" /> <input type="hidden" name="orderid" value="A Ticket Draw" /> <input type="hidden" name="textreply" value="true" /> <input type="hidden" name="test" value="yes" /> <input type="hidden" name="calcfee" value="yes" /> <input type="hidden" name="md5key" value="264f0737cff3be64d3050a8141568266"> </form>
Essential input parameters
The smallest unit of an amount in the selected currency, following ISO4217 (see the currency list here).
Smallest unit for EUR is "cent" thus setting 'amount="150"' leads to the amount being 1,50 EUR
Smallest unit for JPY is "yen" thus setting 'amount="150"' leads to the amount being 150 JPY
Currency is defined using the ISO4217 standard (see the currency list here). Both numeric and upper case letter codes are accepted.
This variable enables a MD5-key control of the values received by DIBS. This control confirms that the values sent to DIBS has not been tampered with during the transfer. See how MD5 is calculated here
Note: When using MD5, the order id must be unique.
Shop identification. The Merchant ID appears in the e-mail received from DIBS during registration with DIBS or on your contract.
|orderId *||The shop’s order number for this particular purchase. It can be seen later when a payment is captured, and will in some instances appear on the customer’s bank statement (both numerals and letters may be used).|
|textreply *||Should be declared to receive the returned message in simple text format.|
|ticket *||The unique Ticket ID. Has the same format as a transaction number.|
*: Always validated by DIBS
Optional input parameters
If multiple departments utilize the same DIBS account, it may be practical to keep the transactions separate at DIBS. An account name may be inserted in this field, to separate transactions at DIBS.
To get an account, please contact the DIBS sales department.
The information added here will appear on the card holders bank statement for Handelsbanken transactions. (Cekab/Evry)
If this parameter is sent with the value "yes", the charge from the acquirer due to the transaction will automatically be calculated and affixed.
NOTE: To use this parameter you need to contact DIBS Support with the fees you have at your acquire, as they need to be entered in our system.
If this field exists, a capture request is automatically carried out after the authorization, following the normal capture process of the specific acquirer.
If a transaction is marked as suspect, the automatic capture request is cancelled and you need to handle the capture.
If used, the order id has to be unique at all times.
Complex order information. If both simple and complex order information (ordertext) is declared, the simple order information is then ignored. This information is displayed in the DIBS Admin interface.
If this variable is set, all variables will be returned (as defined in the DIBS admin).
DIBS retains the IP-address from which a card transaction is carried out. The IP-address is used for ’fraud control’, etc. Some implementations may send the IP-address of the shop to DIBS rather than that of the customer's computer. In order to provide the same services to shops which utilize such a program for their DIBS hookup, we offer the option of sending the “ip” parameter.
Some acquirers might take a period of time before the payment is accepted. This parameter can be used to specify a callback URL to get a response at a later time when the transaction is either accepted or declined.
This parameter is part of complex order information. If both complex and simple order information [ordertext] is declared, the simple order information will be ignored. This information is displayed in the DIBS Administration interface. It is a requirement that the number of fields be identical in all lines of the order (e.g. if there are four fields in the first line, the remaining lines must also contain four fields).
This parameter is part of complex order information. If both complex and simple order information is declared, the simple order information is ignored.
This information is displayed in the DIBS Administration interface.
When this field is declared, the transaction is not dispatched to the card issuer, but is instead handled by the DIBS test environment. When the shop goes live, the test system is normally disabled, and should the shop want to use the test mode at a later date the DIBS support can be contacted for reactivation.
If this parameter is present, the parameter orderid has to be unique compared to all other orderid's used by the merchant.
If the orderid isn't unique, the call will be declined by a reason=7.
Note: Order numbers can be composed of a maximum of 50 characters (DIBS automatically removes surplus characters).
The return parameters from ticket_auth.cgi when the ticket authorisation was accepted are:
Returnes the approvalcode from the acquire if available.
The MD5 check sum for verification of the authenticity of the transaction. This is only returned if an MD5 key is created within the administration (under installation + MD5 keys). You may read more about MD5 key control.
Note: When using a payment window and the calcfee function, amount+fee is used as a basis for calculations rather the amount only.
Returns the type of payment the customer has used for a particular payment.
When calcfee is used, the calculated fee is returned so it can be shown on the receipt.
The unique DIBS identification number for the transaction. The transact is a as minimum 6-digit integer, e.g. transact=123456.
If the pre-authorisation was rejected, then the return values are:
Returns a reason for the rejection.