### Install and Configure auditd on Linux
Source: https://docs.worldpay.com/apis/worldpay-total-232/activity-logging/auditing-user-access-to-yeseft
Guide to installing and configuring the `auditd` service on Linux systems. This includes installing the package, editing the audit rules file to monitor specific files and system calls, and restarting the service.
```shell
sudo apt-get install auditd
sudo vi /etc/audit/audit.rules
# First rule - delete all
-D
# increase the buffers to survive stress events. make this bigger for busy systems.
-b 1024
# monitor unlink() and rmdir() system calls.
-a exit,always -S unlink -S rmdir
# monitor open() system call by Linux UID 1001.
-a exit,always -S open -F loginuid=1001
# monitor write-access and change in file properties (read/write/execute) of the following files.
#-w /etc/group -p wa
#-w /etc/passwd -p wa
#-w /etc/shadow -p wa
#-w /etc/sudoers -p wa
# monitor read-access of the following directory.
-w /home/POS/YESEFT/conf -p r
-w /home/POS/YESEFT/properties -p r
# lock the audit configuration to prevent any modification of this file.
-e 2
sudo service auditd restart
```
--------------------------------
### API Key Authorization Example (HTTP Request)
Source: https://docs.worldpay.com/apis/backofficeaccountmaintenance/merchantcasemanagement/api-specification
Illustrates the structure of an HTTP GET request including the Host and Authorization headers for API key authentication. The Authorization header follows the 'WORLDPAY license=\'xxxx\'' format.
```http
GET / HTTP/1.1
Host: {HOST}
Authorization: {AUTHORIZATION}
```
--------------------------------
### Get Bank Details V2 Request Example (XML)
Source: https://docs.worldpay.com/apis/bankin/bank-transfer-collections
Provides a concrete example of the `getBankDetailsV2` API request in XML format. This example demonstrates how to populate the `auth` (username and password) and `country` fields to retrieve bank details for a specific region.
```xml
amerchant25
s23dLjdf
IE
```
--------------------------------
### RefundReversalNotification Example
Source: https://docs.worldpay.com/apis/bankin/refund-reversal-notifications
An example of a RefundReversalNotification sent by Worldpay, detailing the reversal of a refund.
```APIDOC
## POST /websites/worldpay
### Description
This endpoint receives RefundReversalNotification messages from Worldpay, indicating that a previously processed refund has been reversed. The notification contains detailed information about the original payment and the reversal.
### Method
POST
### Endpoint
/websites/worldpay
### Parameters
#### Request Body
- **RefundReversalNotification** (xml) - Required - The XML payload containing the refund reversal details.
- **reversalInfo** (xml) - Required - Contains information about the refund reversal.
- **originalPaymentInfo** (xml) - Required - Details of the original payment that was refunded.
- **countryCode** (string) - Required - The country code of the transaction.
- **payee** (string) - Required - The payee of the original transaction.
- **merchantReference** (string) - Required - The merchant's reference for the transaction.
- **merchantPaymentReference** (string) - Required - The merchant's payment reference.
- **sourceCurrency** (string) - Required - The currency of the source amount.
- **sourceAmount** (string) - Required - The amount in the source currency.
- **targetCurrency** (string) - Required - The currency of the target amount.
- **targetAmount** (string) - Required - The amount in the target currency.
- **sourceOrTarget** (string) - Required - Indicates if the amount is source or target.
- **fastPayment** (string) - Required - Indicates if it was a fast payment.
- **additionalInfo1** (string) - Optional - Additional information field 1.
- **additionalInfo2** (string) - Optional - Additional information field 2.
- **additionalInfo3** (string) - Optional - Additional information field 3.
- **credit** (xml) - Required - Details about the credit transaction related to the reversal.
- **envoyMerchantAccountNumber** (string) - Required - Envoy merchant account number.
- **itemNumber** (string) - Required - Item number associated with the credit.
- **statementId** (string) - Required - Statement ID for the credit.
- **epacsReference** (string) - Required - EPACS reference for the credit.
- **postingDate** (string) - Required - The date and time the credit was posted.
- **creditCurrency** (string) - Required - The currency of the credit amount.
- **creditAmount** (string) - Required - The amount of the credit.
- **reversalReason** (string) - Required - The reason for the refund reversal.
- **debit** (xml) - Required - Details about the debit transaction related to the reversal.
- **envoyMerchantAccountNumber** (string) - Required - Envoy merchant account number.
- **itemNumber** (string) - Required - Item number associated with the debit.
- **statementId** (string) - Required - Statement ID for the debit.
- **epacsReference** (string) - Required - EPACS reference for the debit.
- **postingDate** (string) - Required - The date and time the debit was posted.
- **debitCurrency** (string) - Required - The currency of the debit amount.
- **debitAmount** (string) - Required - The amount of the debit.
### Request Example
```xml
GB
Test Payee
Test Merchant 123
8447801
GBP
0.00
GBP
15.00
T
N
0003450000000002
164154
989cef79-511c-e311-9f75-0050568a2f55
859cef79-511c-e311-9f75-0050568a2f55
2013-09-13T08:50:03
GBP
15.00
Invalid Bank Code Returned by Beneficiary Bank
0003450000000002
160216
f0352060-3417-e311-9f75-0050568a2f55
e9352060-3417-e311-9f75-0050568a2f55
2013-09-06T20:39:16
GBP
15.00
```
### Response
#### Success Response (200 OK)
- **status** (string) - Indicates the success of the notification processing.
#### Response Example
```json
{
"status": "success"
}
```
```
--------------------------------
### Example paymentTemplate XML with Bank Details
Source: https://docs.worldpay.com/apis/bankin/capture-bank-details-oneclick
This example provides a concrete illustration of the paymentTemplate XML populated with actual French bank details. It showcases how specific fields like BankName, IBAN, SWIFT, and address information are represented within the Row elements. This XML can be submitted via the payToBankAccountV3 API.
```xml
|
|
|
|
|
|
|
|
|
```
--------------------------------
### API Key Authorization Example (cURL)
Source: https://docs.worldpay.com/apis/backofficeaccountmaintenance/merchantcasemanagement/api-specification
Demonstrates how to authenticate API requests using the 'api_key' method with a custom header signature in cURL. The Authorization header must be formatted as 'WORLDPAY license=\'xxxx\'.
```bash
curl https://apis.cert.worldpay.com/merchant-servicing/casemanagement/v1 \
-H 'Authorization: {AUTHORIZATION}'
```
--------------------------------
### XML Response Example for OneClick Payment
Source: https://docs.worldpay.com/apis/bankin/payment-responses
This XML snippet demonstrates a successful response from the oneClickPaymentRequestV2 API call. It includes details such as status codes, token information, reference details, and forex information.
```xml
0
9aabe44b-1bca-40b6-8287-a5c1b70dad29
120
2012-04-05T14:43:26.84
EVTEU2999732
ABC123456
9999-12-31T23:59:59
91.47
GBP
100.00
EUR
1.09328000
2012-04-06T14:43:24.66
```
--------------------------------
### oneClickPaymentRequestV2 Example for Bank Transfer
Source: https://docs.worldpay.com/apis/bankin/payment-requests
This XML snippet demonstrates a complete oneClickPaymentRequestV2, configured for a BANKTRANSFER service. It includes authentication, service details, payment information, customer data, and redirection URLs required to initiate a payment.
```xml
abc@hotmail.com
*
BANKTRANSFER
en
ABC123456
GB
0
GBP
100
EUR
0001-01-01T00:00:00
john@hotmail.com
http://www.success.com
http://www.cancel.com
http://www.error.com
```
--------------------------------
### API Base URI Example
Source: https://docs.worldpay.com/apis/backofficeaccountmaintenance/merchantcasemanagement/api-specification
This snippet shows the base URI for the Merchant Case Management API. It is used to construct the endpoint for all API requests.
```text
https://apis.cert.worldpay.com/merchant-servicing/casemanagement/v1
```
--------------------------------
### Get Payment Templates V2 Request (XML)
Source: https://docs.worldpay.com/apis/bankin/capture-bank-details-payment-templates
This XML snippet demonstrates a valid request to the getPaymentTemplatesV2 endpoint. It includes authentication credentials, a request reference, and criteria for filtering payment templates by country, currency, and language.
```xml
amerchant25
s23dLjdf
Request01
GB
GBP
en
```
--------------------------------
### Example Refund Reversal Notification (XML)
Source: https://docs.worldpay.com/apis/bankin/refund-reversal-notifications
This XML snippet demonstrates the structure of a RefundReversalNotification sent by Worldpay. It includes details about the original payment, the credit reversal, and the debit transaction associated with the reversal. This format is used for informing merchants about refund reversals.
```xml
GB
Test Payee
Test Merchant 123
8447801
GBP
0.00
GBP
15.00
T
N
0003450000000002
164154
989cef79-511c-e311-9f75-0050568a2f55
859cef79-511c-e311-9f75-0050568a2f55
2013-09-13T08:50:03
GBP
15.00
Invalid Bank Code Returned by Beneficiary Bank
0003450000000002
160216
f0352060-3417-e311-9f75-0050568a2f55
e9352060-3417-e311-9f75-0050568a2f55
2013-09-06T20:39:16
GBP
15.00
```
--------------------------------
### Typical OneClick Implementation Deliverables
Source: https://docs.worldpay.com/apis/bankin
Key components required for a typical OneClick payment reference implementation.
```APIDOC
## Typical OneClick Implementation
A typical OneClick payment reference implementation needs these deliverables:
### Deliverable: Service data collection page
**Description:** Provides the shopper with a page to enter data needed to initiate and process a OneClick payment. Data requirements vary by service and are primarily needed if you do not wish the shopper to see the Worldpay AP landing page. You can find data requirements in the service description document for each service.
### Deliverable: Token API integration
**Description:** Provides functionality needed to initiate a OneClick payment reference (or ‘token’) payment process. Needs your system to submit data collected from the shopper to the Merchant API and redirect the shopper to the OneClick platform to complete the payment.
### Deliverable: Results page(s)
**Description:** After the shopper has completed the payment process they are returned to your website where an appropriate message can be displayed.
### Deliverable: Notification receipt page
**Description:** A web page you host to receive an asynchronous SOAP notification confirming the payment as successful. During this process your system can submit a SOAP request to the payinConfirmation API method to validate the notification being received.
```
--------------------------------
### OneClick Payment Process Overview
Source: https://docs.worldpay.com/apis/bankin
This section details the steps involved in initiating a OneClick payment from the shopper's selection to the final payment confirmation.
```APIDOC
## Payment Process
To start a OneClick payment:
1. Your shopper selects goods or services from your website and provides payment details.
2. You submit the shopper’s payment details to Worldpay using the OneClick API.
3. Worldpay returns a unique payment reference with a Time to Live (TTL) in seconds.
4. You use the reference to redirect the shopper to the OneClick service to complete the payment. If sufficient shopper information is collected, they may not need to use the OneClick payment pages.
```
--------------------------------
### Return Bank Details as Query String Parameters
Source: https://docs.worldpay.com/apis/bankin/capture-bank-details-oneclick
This example demonstrates how bank details can be returned as query string parameters in a URL. It includes various fields like customer reference, language, country, currency, and specific bank information. This method is useful for direct URL-based data transfer.
```url
https://www.customerwebsite.com?customerRef=EVTEU1234567&language=en&country=FR¤cy=EUR&email=testing%40merchantwebsite.com&targetCurrency=EUR&bankName=BNP+Paribas&iban=FR1420041010050500013M02606&swift=BNPAFRPP&Payee=Olivier+Nocher&addressLine1=123+Rue+Tisserand&addressLine2=Vaugirard&beneficiaryCountry=FR&dateOfBirth=1%2f1%2f1980&status=SUCCESS
```
--------------------------------
### Worldpay payInConfirmationV2 Request Example (XML)
Source: https://docs.worldpay.com/apis/bankin/poll-requests
This XML snippet demonstrates a sample request for the payInConfirmationV2 operation in the Worldpay API. It includes authentication details and the epacsReference for a payment confirmation. Ensure your username and password are correct and the epacsReference is in the specified GUID format.
```xml
amerchant25
s23dLjdf
IF6D1A5A-6BCE-4BDF-C993-44E97FL00IAX
```
--------------------------------
### Poll Payments by Reference Example Request (XML)
Source: https://docs.worldpay.com/apis/bankin/poll-requests
An example of a fully formed XML request for the pollPaymentsByReference API method. This demonstrates how to populate the authentication, requestReference, and externalRef fields.
```xml
amerchant25
s23dLjdf
2359782435982-26-05-2006 13:42:21
ABCEU1234567
```
--------------------------------
### Poll Payments Request Example (XML)
Source: https://docs.worldpay.com/apis/bankin/poll-requests
An example of a complete pollPayments request in XML format. This demonstrates how to populate the authentication credentials, request reference, and currency filter to query payment information.
```xml
amerchant25
s23dLjdf
2359782435982-26-05-2006 13:42:21
SEK
```
--------------------------------
### Get Payment Templates V2
Source: https://docs.worldpay.com/apis/bankin/capture-bank-details-payment-templates
Retrieves payment templates based on specified criteria. This endpoint is part of the Worldpay merchant API.
```APIDOC
## POST /websites/worldpay/getPaymentTemplatesV2
### Description
Retrieves payment templates based on specified criteria such as country, currency, and language. This endpoint is part of the Worldpay merchant API and uses SOAP for communication.
### Method
POST
### Endpoint
/websites/worldpay/getPaymentTemplatesV2
### Parameters
#### Request Body
- **auth** (object) - Required - Authentication credentials.
- **username** (string) - Required - Merchant username.
- **password** (string) - Required - Merchant password.
- **requestReference** (string) - Required - A unique identifier for the request.
- **criteria** (object) - Required - Filtering criteria for payment templates.
- **country** (string) - Required - The country code (e.g., 'GB').
- **currency** (string) - Required - The currency code (e.g., 'GBP').
- **language** (string) - Required - The language code (e.g., 'en').
### Request Example
```xml
amerchant25
s23dLjdf
Request01
GB
GBP
en
```
### Response
#### Success Response (200)
- **ErrorCode** (integer) - Optional - Indicates if the specific row of a submitted payment template contains invalid data.
- **ErrorMsg** (string) - Optional - A descriptive error message related to the ErrorCode attribute value.
- **Value** (string) - Optional - The captured value for the given bank data field.
```
--------------------------------
### Get Payment Templates V2
Source: https://docs.worldpay.com/apis/bankin/capture-bank-details-payment-templates
Retrieves a list of payment templates available for the merchant, including details about each template and its associated fields.
```APIDOC
## POST /websites/worldpay/getPaymentTemplatesV2
### Description
Retrieves a list of payment templates available for the merchant, including details about each template and its associated fields.
### Method
POST
### Endpoint
/websites/worldpay/getPaymentTemplatesV2
### Parameters
#### Request Body
This endpoint uses a SOAP request body. The structure is defined by the Worldpay API schema.
### Request Example
```xml
```
### Response
#### Success Response (200)
- **receivedDate** (dateTime) - The date and time the request was received.
- **statusCode** (int) - The status code of the operation.
- **statusMessage** (string) - A message describing the status of the operation.
- **requestReference** (string) - A unique reference for the request.
- **paymentTemplates** (object) - Contains a list of payment templates.
- **paymentTemplate** (object) - Represents a single payment template.
- **TemplateID** (string) - The unique identifier for the payment template.
- **Name** (string) - The name of the payment template.
- **TransferTypeDesc** (string) - Description of the transfer type.
- **TemplateType** (int) - The type of the template.
- **TemplateCurrency** (string) - The currency of the template.
- **TemplateCountry** (string) - The country associated with the template.
- **ErrorCode** (int) - Error code if any occurred during template processing.
- **ErrorMsg** (string) - Error message if any occurred during template processing.
- **Row** (array) - A list of rows representing fields within the payment template.
- **Section** (string) - The section the row belongs to.
- **SectionTag** (string) - Tag for the section.
- **Title** (string) - The title of the field.
- **ShowTitle** (string) - Indicates if the title should be shown.
- **FieldType** (string) - The type of the field.
- **Id** (string) - The unique identifier for the field.
- **InputType** (string) - The input type for the field.
- **Required** (string) - Indicates if the field is required.
- **Visibility** (string) - Visibility setting for the field.
- **LabelTooltip** (string) - Tooltip for the field label.
- **Tooltip** (string) - Tooltip for the field.
- **MinLength** (int) - Minimum length for the field input.
- **MaxLength** (int) - Maximum length for the field input.
- **MaxLengthIncludesNonAlpha** (string) - Indicates if non-alphanumeric characters are included in max length.
- **ErrorCode** (int) - Error code for the field.
- **ErrorMsg** (string) - Error message for the field.
- **OptionValue** (string) - Value for option fields.
- **OptionText** (string) - Text for option fields.
- **Spacer** (string) - Spacer element information.
- **Value** (string) - Default or current value of the field.
#### Response Example
```xml
2023-10-27T10:00:00Z
0
Success
REF12345
```
```
--------------------------------
### Merchant Accounts Created Event
Source: https://docs.worldpay.com/businesstype/financialinstitutions
Receive notifications when a new merchant is onboarded to certain sales channels or organizations.
```APIDOC
## Merchant Accounts Created Event
### Description
Receive notifications when a new merchant is onboarded to certain sales channels or organizations.
### Method
POST (Webhook)
### Endpoint
/websites/worldpay/events/merchant-accounts/created
### Parameters
#### Request Body
- **merchantId** (string) - The ID of the newly created merchant.
- **salesChannel** (string) - The sales channel through which the merchant was onboarded.
- **organizationId** (string) - The ID of the organization.
- **timestamp** (string) - The timestamp of the event.
### Request Example
```json
{
"merchantId": "m_new789",
"salesChannel": "Direct Sales",
"organizationId": "org_abc",
"timestamp": "2023-10-27T11:00:00Z"
}
```
### Response
#### Success Response (200)
- **status** (string) - Confirmation of receipt.
#### Response Example
```json
{
"status": "RECEIVED"
}
```
```
--------------------------------
### Get Payment Templates V2
Source: https://docs.worldpay.com/apis/bankin/capture-bank-details-payment-templates
Retrieves payment templates based on specified criteria. This endpoint is useful for capturing bank details with payment templates.
```APIDOC
## GET /websites/worldpay/getPaymentTemplatesV2
### Description
Retrieves payment templates based on specified criteria. This endpoint is useful for capturing bank details with payment templates.
### Method
GET
### Endpoint
/websites/worldpay/getPaymentTemplatesV2
### Parameters
#### Query Parameters
- **auth** (Complex Type) - Required - Contains the elements related to the authorisation of a request.
- **username** (string) - Required - Username for this merchant (or API user). 6 to 50 alpha-numeric characters.
- **password** (string) - Required - Password for this merchant. 6 to 50 alpha-numeric characters.
- **requestReference** (string) - Required - Unique field used if a valid response is not received to this request. The request can be called again with the same requestReference, returning the original response. 6 to 50 alpha-numeric characters.
- **criteria** (Complex Type) - Required - Contains further child elements describing the criteria for payment templates to retrieve.
- **country** (string) - Required - The country of the beneficiary’s bank. 2 alpha characters, as per the ISO 3166-1 English country code standard.
- **currency** (string) - Required - The currency in which the beneficiary will receive funds. 3 alpha characters as per the ISO 4217 currency code standard.
- **language** (string) - Optional - The payment template labels and tooltips language, currently only available for “en” (English). ISO 2-char language code.
- **paymentType** (string) - Optional - The payment type for which this template will be used. Allowed value: “BANKOUT”.
### Request Example
```xml
string
string
string
string
string
string
string
string
```
### Response
#### Success Response (200)
- **paymentTemplates** (Array) - Contains a list of payment templates matching the criteria.
#### Response Example
```json
{
"paymentTemplates": [
{
"templateId": "string",
"templateName": "string",
"bankDetails": {
"accountNumber": "string",
"sortCode": "string"
}
}
]
}
```
```
--------------------------------
### Enable Auditing for YESEFT Folders on Windows
Source: https://docs.worldpay.com/apis/worldpay-total-232/activity-logging/auditing-user-access-to-yeseft
Instructions to enable auditing for specific folders (YESEFT/conf and YESEFT/properties) on a Windows system. This process involves navigating to the folder's security properties and adding auditing entries for specific users or groups.
```text
1. Right-click the document or file that you wish to keep track of, and click Properties.
2. Click Security, then Advanced, and then Auditing.
3. Click Add.
4. In the box enter the object name to select, type the name of the user or group whose actions you wish to track, and click OK in each of the four open dialog boxes.
```
--------------------------------
### Worldpay PaymentInReversalNotificationResponse XML Example
Source: https://docs.worldpay.com/apis/bankin/payin-reversal-notifications
This XML structure is the response from Worldpay AP to a payment reversal notification. It contains a single element, PaymentInReversalNotificationResult, indicating the outcome.
```xml
String
```
--------------------------------
### Shopper Redirection and Return URLs
Source: https://docs.worldpay.com/apis/bankin/payment-responses
Information on how to redirect shoppers after a OneClick payment and the parameters returned to the merchant's website.
```APIDOC
## Shopper Redirection and Return URLs
### Description
After a OneClick payment is processed, the shopper is optionally redirected to a OneClick website or directly back to the merchant's site via specified return URLs. The return URLs contain parameters detailing the payment status and transaction information.
### Redirection
Optionally redirect the shopper to the OneClick website using the `tokenId` obtained from the `oneClickPaymentRequestV2Response`.
- **Test Domain:** `http://test.envoytransfers.com/?tokenId={tokenId}`
- **Production Domain:** `http://www.envoytransfers.com/?tokenId={tokenId}`
If you are hosting a deposit instructions page, redirection might not be necessary.
### Return URLs
When the shopper completes the OneClick payment, they are returned to your website. The return URL can be your ``, ``, or `` as defined in the originating `oneClickPaymentRequest`. The payment amount is not returned as a query string parameter for security reasons. Use the `` API call to verify the payment amount.
#### Return URL Parameters
| Parameter | Description |
|---|---|
| **Language** | Language defined in the originating oneClickPaymentRequest. |
| **Country** | Country where the payment was processed. |
| **Currency** | Currency of the payment. |
| **Email** | Email address of the customer if provided in the originating oneClickPaymentRequest. |
| **Status** | Status of the payment: SUCCESS, CANCELLED, ERROR, FAILURE, OPEN, or EXPIRED. |
| **customerMessage** | If the status parameter is ERROR, an appropriate customer-facing message will be returned. |
| **epacsReference** | Unique identifier for the payment generated by the OneClick service, in GUID format. Used in the `` API call. |
| **uniqueReference** | Unique reference for the payment, defined by you or automatically by Worldpay AP. |
| **errorCode** | Negative integer value, returned only in case of error. |
| **errorType** | Returned only in case of error, differentiates functional and technical errors. Possible values are "F" (functional), "T" (technical), and "U" (unknown). |
```