This is the "WorldPay" driver for the Nails Invoice module, it allows the module to accept payments using the WorldPay payment processor.
WorldPay requires a potentially large number of configurations to be recorded in order to support various currencies, installations, and services.
This driver interfaces with WorldPay using the Worldwide Payment Gateway XML API and uses a configuration object which contains a configuration object per merchant code to be supported. The driver will choose a configuration object at the time of making a charge depending on the currency being checked out, and whether the customer is present or not.
{
"PRODUCTION": [
{
"merchant_code": "string",
"for_currency": "string",
"installation_id": "string",
"customer_present": bool,
"xml_username": "string",
"xml_password": "string>"
}
],
"STAGING": [ ... ],
"DEVELOPMENT": [ ... ]
}Each environment has its own set of independent configurations.
You will have one or more merchant codes associated with your account. This is given to you by WorldPay. Each merchant code should only appear once in the configuration array.
This is the ISO code for the currency which the mrchant code supports, e.g. GBP, or USD.
If required, supply the installation ID for this merchant code. This is only used when using hosted payment pages.
If true, this configuration will be selected when the customer is present. If false it'll be selected when the customer is not present.
A merchant code will either be in
ECOMorRECURmode, with the former for customer initiated transactions (customer present), and the latter for merchant initiated transactions (customer not present).
The username to use when querying the XML API.
The password to use when querying the XML API.
If you're using the WorldPay 3DS Flex product it will need configured with some values. The configuration is similar to the above in that multiple environments can be defined at once. It takes the following structure:
{
"PRODUCTION": [
{
"issuer": "string",
"org_unit_id": "string",
"mac_key": "string"
}
],
"STAGING": [ ... ],
"DEVELOPMENT": [ ... ]
}