FlexWin (Method 1)

- Parameters

 

FlexWin accepts the following parameters. Parameters marked [parameter] are optional. Parameters are sent, e.g., as hidden fields in a form: 

 

Parameter

Description

merchant

Shop identification. The Merchant number appears in the e-mail received from DIBS during registration with DIBS.

amount

The smallest unit of an amount, e.g. "øre" for Danish kroner.

currency

Currency specification as indicated in ISO4217 where Danish kroner is no. 208. Please refer to our list of currencies. Make sure that your acquirer agreement supports all the currencies that you want to use.

orderid

The shop's order number for this particular purchase. It can be seen later when payment is captured, and in some instances it will appear on the customer's bank statement (max. 50 characters, both numerals and letters may be used).

Note: If you use the MD5 control parameter 'md5key', you have to use unique order IDs, i.e., you have to set the 'uniqueoid' parameter.

accepturl

The URL of the page to be displayed if the purchase is approved.

[cancelurl]

The URL of the page to be displayed if the customer cancels the payment.

[callbackurl]

An optional "server-to-server" call which tells the shop's server that the payment was a success. Can be used for many purposes, the most important of these being the ability to register the order in your own system without depending on the customer's browser hitting a specific page of the shop. See also the parameters accepturl and HTTP_COOKIE.
Please note: If the shop's server has a firewall it should be configured to allow DIBS servers to send requests to the callbackurl - i.e. the firewall should open for ip-addresses 85.236.67.0 -> 85.236.67.29

[paytype]

Regarding the start-up of the DIBS FlexWin, the user can be limited to the use of just one particular payment form. This is accomplished by using the parameter "paytype".

This function can be used if you wish for example to use integration method 3 for payment cards and method 1 for eDankort. Furthermore, this function can be used if you wish to control the user's selections of method of payment from your own website.

You can also specify a list of payment methods that will be shown in the Flexwin. This list should be a comma separated with no spaces in between.

Example:
<input type="hidden" name="paytype" value="VISA,MC,AMEX,MTRO,ELEC" />

See our list of possible paytypes.

[uniqueoid]

If this parameter is defined, the orderid field must be unique, i.e., there is no existing transaction in DIBS with the same order number. If such a transaction already exists, payment will be rejected with reason=7. We strongly urge you to use this parameter, unless of course you are unable to generate unique order numbers.

Note: If you use the MD5 control parameter 'md5key', you have to use 'uniqueoid'.

Note: Order numbers can be composed of a maximum of 50 characters (DIBS automatically removes surplus characters), so uniqueoid is unable to work as intended if order numbers of more than 50 characters are used.

[account]

If multiple departments utilize the company's acquirer agreement with the acquirer, it may prove practical to keep the transactions separate at DIBS. An "account id" may be inserted in this field, so as to separate transactions at DIBS. Please note that the account functionality may be an add on feature depending on your agreement. Accounts are setup by the DIBS Support.

[capturenow]

If this parameter is defined, an "instant capture" is carried out, i.e., the amount is immediately transferred from the customer's account to the shop's account. This function can only be used for purchases, that do not involve the delivery of any physical items. Please, contact DIBS when using this function. Note: Instant capture requires unique order numbers — please refer to the description of uniqueoid above.

[ip]

DIBS retains the IP number from which a card transaction is carried out. The IP number is used for fraud protection, etc. Some implementations may send the IP number of the shop to DIBS, rather than that of the customer's machine. 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. 

[test]

This field is used when tests are being conducted on the shop (e.g. test=yes). When this parameter is declared, the transaction is not dispatched to the card issuer, but is instead handled by the DIBS test module. Should you need to test your shop at a later time, it will have to be activated at DIBS. (Please contact Support for reactivating the test mode of your shop.)

[HTTP_COOKIE]

Use this parameter to define cookies/sessions, which are to be sent to callbackurl. It must be sent along if you are using callbackurl and depend on cookies/sessions for keeping track of the user. Please refer to the description of automatic call-back

[lang]

Indicates the language to be used in FlexWin. The following languages are currently supported:

da = Danish (default)
sv = Swedish
no = Norwegian
en = English
nl = Dutch
de = German
fr = French
fi = Finnish
es = Spanish
it = Italian
fo = Faroese
pl = Polish

If no language is indicated, Danish will automatically be selected. If you wish to use the DIBS FlexWin in a language other than the ones shown above, please contact Support.

[color]

The basic color theme of FlexWin. There is currently a choice of "sand", "grey" and "blue". The default value is "blue".

[calcfee]

If the parameter "calcfee" is declared (e.g. calcfee=foo), FlexWin will automatically affix the charge due to the transaction, i.e., the charge payable to the acquirer (e.g. PBS), and display this to the customer. 

[ordertext]

Simple order information sent to DIBS. This information is stored at DIBS. It is currently not displayed in FlexWin.

[delivery1..deliveryN]

Complex order information. If both simple and complex order information (ordertext) is declared, the simple order information is ignored. This information is stored at DIBS. It is currently not displayed in FlexWin.

[ordline0-1 ... ordlineN-M]

Complex order information (please refer to Order information in DIBS). If both complex and simple order information (ordertext) is declared, the simple order information is ignored. This information is stored at DIBS. 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. It is currently not displayed in FlexWin.

[priceinfo1.. priceinfoN]

Complex order information. If both complex and simple order information is declared, the simple order information is ignored. This information is stored at DIBS. It is currently not displayed in FlexWin.

[preauth]

Works like calling auth.cgi, i.e. the amount value is ignored (although it is mandatory), after which it performs a ticket registration instead of an authorisation. You then subsequently make draws on the ticket by using ticket_auth.cgi or from DIBS Admin. The transaction value returned is the ticket.

When using MD5 the "authkey" must be calculated from the string 'transact=xxxxxxxx&preauth=true&currency=yyy'.

"preauth" is set implicitly when using "maketicket".

[maketicket]

This parameter is intended for FlexWin, and actually performs two transactions. First it performs a regular authorisation. If, and only if, it is accepted, it is followed by a ticket registration.

Both a transaction and a ticket value are returned to "accepturl" if it is specified.

If "callbackurl" is specified, DIBS will perform two separate calls, corresponding to performing two transactions — one call to the regular authorisation, and another to the ticket registration. Both cases return a "transact" parameter value (e.g. transact="78901234"). In calls to "callbackurl" containing "preauth", the ticket value is composed of the "transact" parameter value.

"maketicket" implicitly sets the "preauth" parameter - however, you should avoid to explicitly specify any "preauth" parameter.

You cannot use "uniqueoid", "capturenow" or "md5key" along with "maketicket". Currently "maketicket" does not work with 3Dsecure.

[decorator]

Specifies which DIBS decorator to use. Possible values are "default", "basal" and "rich". This will override the customer specific decorator, if one has been uploaded. 

[ticketrule]

Set the value of this parameter to the same as defined by you in DIBS Admin.

[md5key]

This variable enables an MD5 key control of the parameters received by DIBS. This control confirms, that the parameters sent to DIBS, have not been tampered with during transfer. The MD5-key for auth.cgi is calculated as:

MD5(key2 +
  MD5(key1 + 
    "merchant=xxxxxxx&orderid=xxxxxxx" +
    "&currency=xxx&amount=xxxx"))

Where key1 and key2 are shop specific keys available through the DIBS administration interface, and + is the concatenation operator. NB! MD5-key check must also be enabled through the DIBS administration interface in order to work. Please refer to MD5-key control for further details.

You cannot use 'maketicket' along with 'md5key'.

Note: If you use 'md5key', you have to use unique order IDs, i.e., you have to set the parameter 'uniqueoid'. When using the "split" parameter in FlexWin, the value of "amount" is the sum of all split amounts.

[split]

The "split" parameter allows you to split an amount into several smaller payment transactions. Substitute the "amount" parameter with a list of amount parameters called "amount1", "amount2", "amount3", and so forth. The "split" parameter is set to the number of amounts. For example:

   ...&split=3&amount1=1200&amount2=10000&amount3=150000...

Your customer is presented with the total amount in FlexWin, but when the payment is authorized, it will result in a transaction per amount.

The authorization step returns a number of parameters. Using "split" will substitute the "transact" parameter with a list of transaction IDs, matching each amount, and called "transact1", "transact2", "transact3", and so forth.

Before implementing "split", make sure you have enabled the return of extra variables from the admin site, i.e. under Integration > Return Values. Otherwise you will get an error about missing transactions.

NB: Using "split" limits the range of pay types. Only credit card pay types without 3D secure are supported. You may have other pay types available for your shop, such as net banks, but they will automatically be filtered from the list of available pay types presented in FlexWin when using "split". Also when using "split", you cannot use the "calcfee" parameter.

[voucher]

If set to "yes", then the list of payment types on the first page of FlexWin will contain vouchers, too. If FlexWin is called with a paytype, which would lead directly to the payment form, the customer is given the choice of entering a voucher code first.

[postype]

postype (one 't') is used when one wishes to register the transaction origin. For normal internet transaction it is not required to include "postype", as it is automatically set to SSL. Relevant values here are:
ssl = internet transactions (default)
mail = mail order
phone = phone order

The latter two enables the use of FlexWin as a webterminal (MoTo).