Worldpay v1.1
Introduction
Worldpay provides secured, scalable, and reliable payment processing services through Worldpay's Express payment processing platform.
Worldpay provides the following capabilities and benefits:
- Credit Cards Payment
- Debit Cards Payment
- ACH payment (Bank account transfer)
Package features include:
- Payment Services
- You can use this package to execute a payment transaction in your application process.
- Max attempt control
- Limit the number of calls an application can make to Worldpay's Express platform.
- Analytics Milestones and Segmentation
- This package includes pre-built Milestones to help analyze the success rate.
- This package includes pre-built Segment to help analyze the payment type (cards vs ACH).
- Server and Client value objects
- This will help to use the results in an external service, for example, a enrollment application.
- Detailed data and system errors
- This can be particularly useful as the service will block unnecessary calls if anything is missing or wrong.
- It will also provide detailed messaging to help fix the problem, either for the applicant in case of missing information, or the form builder in case of misconfiguration.
- TAF + Maven support
- Exchange regression suite - automating over 50 scenarios
- This helps us improve turn around time in case of defects fixes.
- It also helps us makes release new enhancements faster.
This package doesn't support multiple applicants. If the application is of multiple applicant nature, the total payment should be calculated and payed by one of the applicants.
This package is built on the Exchange Framework (TIF). It is used to develop integrations in Journey Manager in a more efficient, standardized and scalable manner to reduce the ongoing costs for upgrades and maintenance.
Licensing
Clients must ensure they are appropriately licensed in order to use this package. Organisations who wish to use this package are required to establish a commercial relationship with the 3rd party vendor directly.
Compatibility
This package has the following compatibility requirements:
Module | Compatibility | Notes |
---|---|---|
Transact Manager | 17.10.9 or above | |
Transact Maestro | 18.05.9 or above | |
TIF maven version | 1.4.1 |
Release Notes
Version 1.1 April 1, 2020
- Configuration service support.
- Added support for disabling milestone events optionally.
Version 1.0 Nov 14, 2019
- Baseline release.
Installation
Exchange Installation
This package should be installed as a single archive via the Temenos Marketplace. Once installed you should walk through the following procedure to ensure you complete any required configuration:
- Review the documentation below for each of the imported services and make any adjustments necessary to service parameters.
- Review the documentation below for any Service Connections and add your credentials as required.
- Review the Help Doc tab for each of the imported services and make any required adjustments to service parameters.
- Review the Service Connection requirements under the same Help Doc tab for each of the imported services and make any required configurations to the Service Connection. Service Connections can be configured in Transact Manager under the Services >> Service Connections menu item.
- Installation of any included Maestro libraries requires you to login to you Maestro server and import them either into your organization (for global availability) or to your specific project.
Note: The default value of service parameters from this package, such as maxAttemptNumber will always override the value for existing service. After you reinstall or upgrade the package, make sure the service parameters value are suitable to your requirement.
Maven dependency
pom.xml
as below in order to import and
consume the Worldpay result through the Worldpay VO this package provides.
Note: Each service within this package must have Unified App Data
enabled
when building a form. Navigate to Forms > Form > Form Version and tick the Unified App Data
checkbox.
How to trigger fluent functions in Narrator
Below is the example on how to trigger the fluent functions and provide input parameters in Form
Narrative
{ "name": "Worldpay Narrative", "version": "1.0.0", "pages": [ { "name": "PaymentOptions", "allowGoBack": false, "allowSubmit": false, "preActions": [], "postActions": [], "nextPages": ["OtherPaymentOptions", "EFTOptions"] }, { "name": "OtherPaymentOptions", "condition": "${ txn.formDataMap.get('FundingOptions') == 'other' }", "allowGoBack": true, "allowSubmit": true, "preActions": [], "postActions": [], "nextPages": [] }, { "name": "EFTOptions", "allowGoBack": true, "allowSubmit": false, "condition": "${ txn.formDataMap.get('FundingOptions') == 'eft' || txn.formDataMap.get('FundingOptions') == '' }", "preActions": [], "postActions": [], "nextPages": ["WorldpayACH", "WorldpayCardPaymentInfo"] }, { "name": "WorldpayACH", "allowGoBack": true, "allowSubmit": false, "condition": "${ txn.formDataMap.get('EFTType') == 'CheckSale' || txn.formDataMap.get('EFTType') == '' }", "preActions": [], "postActions": [], "nextPages": ["BillingAddressAch"] }, { "name": "WorldpayCardPaymentInfo", "allowGoBack": true, "allowSubmit": false, "condition": "${ txn.formDataMap.get('EFTType') == 'TransactionSetup' }", "preActions": [], "postActions": [], "nextPages": ["WorldpayCardPayment"] }, { "name": "WorldpayCardPayment", "allowGoBack": true, "allowSubmit": false, "condition": "${ txn.formDataMap.get('EFTType') == 'TransactionSetup' }", "preActions": [], "postActions": [], "formActions": [ { "name": "Worldpay - Cards Payment", "version": "1.1.0", "alwaysProcess": "false" }, { "name": "Worldpay - Cards Payment Verification", "version": "1.1.0", "alwaysProcess": "false" } ], "nextPages": ["NotComplete", "Complete"] }, { "name": "BillingAddressAch", "condition": "true", "allowGoBack": true, "allowSubmit": false, "preActions": [], "postActions": [], "nextPages": ["AmountAch"] }, { "name": "AmountAch", "allowGoBack": true, "allowSubmit": false, "preActions": [], "postActions": [ { "name": "Worldpay - ACH Payment", "version": "1.1.0", "alwaysProcess": true, "condition": "${( txn.formDataMap.get('PaymentMethod') != 'Worldpay ACH Payment Method' || ( !txn.propertyMap.get('Worldpay.Payment.ACH.'+txn.formDataMap.get('RoutingNumber')+'-'+txn.formDataMap.get('AccountNumber')+'.currentAttemptsLeft') || (txn.propertyMap.get('Worldpay.Payment.ACH.'+txn.formDataMap.get('RoutingNumber')+'-'+txn.formDataMap.get('AccountNumber')+'.currentAttemptsLeft')?:'0').toInteger() > 0 ))}", "params": { "BillingName": "${txn.formDataMap.get('BillingName')}", "BillingAddress1": "${txn.formDataMap.get('BillingAddress1')}", "BillingZipcode": "${txn.formDataMap.get('BillingZipcode')}", "Amount": "${txn.formDataMap.get('Amount')}", "RoutingNumber": "${txn.formDataMap.get('RoutingNumber')}", "AccountNumber": "${txn.formDataMap.get('AccountNumber')}", "AccountType": "${txn.formDataMap.get('AccountType')}", "VerifiedByExternalSource": "${ (txn.formDataMap.get('OnlineAccountVerification') != 'Worldpay')?'external':'' }", "CheckType": "0", } } ], "nextPages": ["NotComplete", "Complete"] }, { "name": "NotComplete", "condition": "${ txn.propertyMap.get('Worldpay.Payment.Result.paymentStatus') == 'Setup' || txn.propertyMap.get('Worldpay.Payment.Result.paymentStatus') == 'Error' || txn.propertyMap.get('Worldpay.Payment.Result.paymentStatus') == 'False' || txn.propertyMap.get('Worldpay.Payment.Result.paymentStatus') == 'Unknown' || txn.propertyMap.get('Worldpay.Payment.Result.paymentStatus') == '' || txn.propertyMap.get('Worldpay.Payment.Result.paymentStatus') == null}", "allowGoBack": false, "allowSubmit": false, "preActions": [], "postActions": [], "nextPages": ["PaymentOptions"] }, { "name": "Complete", "allowGoBack": false, "condition": "${ txn.propertyMap.get('Worldpay.Payment.Result.paymentStatus') != 'Setup' && txn.propertyMap.get('Worldpay.Payment.Result.paymentStatus') != 'Error' && txn.propertyMap.get('Worldpay.Payment.Result.paymentStatus') != 'False' && txn.propertyMap.get('Worldpay.Payment.Result.paymentStatus') != 'Unknown'}", "allowSubmit": true, "preActions": [], "postActions": [], "nextPages": [] } ] }
Below is an example of a form design that works with the above Form Narrative
Page Id | Narrator Controller Key | Fields | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
paymentOptions | PaymentOptions |
|
|||||||||||||||
eFTOptions | EFTOptions |
|
|||||||||||||||
otherPaymentOptions | OtherPaymentOptions | ||||||||||||||||
worldPayACH | WorldPayACH |
|
|||||||||||||||
worldpayCardPaymentInfo | WorldPayCardPaymentInfo |
|
|||||||||||||||
worldpayCardPayment | WorldpayCardPayment |
|
|||||||||||||||
billingAddressAch | BillingAddressAch |
|
|||||||||||||||
amountAch | AmountAch |
|
|||||||||||||||
notComplete | NotComplete | ||||||||||||||||
complete | Complete |
High Level Diagram
Below are the process flow diagrams for Worldpay payment methods which give an insight into the design of the Exchange components.Cards Payment
ACH Payment
Cards Payment Configuration
Maestro Assets
Use the following procedure to configure Worldpay - Cards Payment component in your form:
- Make sure the
exchange-worldpay-taf
Maestro library has been added to your Maestro project. - In Maestro, place the Worldpay - Cards Payment component onto your form in the location you wish to use cards payment service.
- Select Worldpay - Cards Payment component, then from the Properties tab, select the Input Fields section. Next, click on Field References and map the form's actual payment fields the to predefined keys.
- Once the form is published, make sure you enable the
Unified App Data
as follows:- Navigate to Forms>Form>Form Version and tick the Unified App Data checkbox.
Using maestro components ACH Payment and Cards Payment in the same form will cause an XML duplicate binding warning. Ignore the warning and click Build.
Note: By default, the Maestro form will show an alert box when validation errors
happen. Since the component already has the built-in fields to display various data errors, you can add the
following Javascript on Form Load
in your form
to suppress the alert box.
Form.serverValidationErrorHandler = function() {};
Journey Manager services
Use the following procedure to configure the Worldpay - Cards Payment service in your Journey Manager:
- Search for the Worldpay - Cards Payment service using the All Services page under the Services menu.
- Click the Worldpay - Cards Payment service in the search results to navigate to the service page.
- Click the Parameters Edit tab.
- Click the Edit Parameter link next to the Transaction Setup Configuration parameter to edit the ReturnURL parameter.
- The value of the ReturnURL parameter should point to an empty html file deployed in your Space. The only requirement of this parameter is to contain a URL to an empty file that exists in the same domain as the form.
ACH Payment Configuration
Maestro Assets
Use the following procedure to configure the Worldpay - ACH component in your form:
- Make sure the
exchange-worldpay-taf
Maestro library has been added to your Maestro project. - In Maestro, place the Worldpay - ACH component onto your form in the location you wish to use the ACH payment service.
- Select the Worldpay - ACH component, then from the Properties tab, select Options. Then, select the "Show Error Messages" box if you want to use the built-in error messages.
- Once the form is published, make sure you enable the
Unified App Data
as follows:- Navigate to Forms>Form>Form Version and tick the Unified App Data checkbox.
This component doesn't trigger the related Worldpay - ACH
Payment fluent function. The function is called as part of the narrative when the user clicks the
Continue button since the service is typically configured as a post action. Therefore, the purpose of this
component is to display the error and validation messages (if enabled).
It is recommended to use the component even if the messages are disabled, in which case developers can use the different
fields inside the component to construct custom messages.
Using maestro components ACH Payment and Cards Payment in the same form will cause an XML duplicate binding warning. Ignore the warning and click Build.
Note: By default, the Maestro form will show an alert box when validation errors
happen. Since the component already has the built-in fields to display various data errors, you can add the
following Javascript on Form Load
in your form
to suppress the alert box.
Form.serverValidationErrorHandler = function() {};
Max Attempt
The Worldpay - Cards Payment and Worldpay - ACH Payment services within the package support the Max Attempts feature.This feature is intended to limit the number of calls to Worldpay API.
Configuration
- Set the maxAttemptNumber to a positive number in the service parameter. The default value is 3.
- If you don't want to apply any restriction, set it to -1. However, it is recommended to limit the number of calls.
- If you want to alert the applicant to the number of attempts that are left, the number of attempts remaining display in both the JSON result and Data Field:attemptsLeft in the Maestro component.
Max Attempt Behaviour
- The maxAttemptNumber service parameter under the Worldpay - Cards Payment service will limit the number of calls to the Worldpay API from a single transaction.
- The maxAttemptNumber service parameter under the Worldpay - ACH Payment service will limit the number of calls to Worldpay API for each applicant account. If the maximum limit is reached for a particular account, the applicant can try another account.
Journey Analytics
Milestone events
Milestone events are automatically generated to show milestones on the User Journey view in Journey Analytics, the Journey Manager analytics tool.
Name | Trigger |
---|---|
Worldpay Payment Start | Upon calling any of the payment methods |
Worldpay Payment Complete | Upon successful execution of payment methods |
Segment events
Segment events are automatically generated to offer further analytics on the User Journey view in Journey Analytics.
Note: Please make sure you've added the following segment name and valid values to the Journey Analytics segment whitelist before using this component.For more information, please refer to Journey Analytics Preferences
Name | Value | Trigger |
---|---|---|
Worldpay Payment Type | Cards Payment | Upon calling Cards Payment methods |
Worldpay Payment Type | Account Deposit | Upon calling ACH Payment methods |
Service Txn properties/ Server VO
The table below describes Worldpay server VO fields stored in the Form XML Data and also stored in transaction properties.
Name | Description | Format | Notes |
---|---|---|---|
Worldpay.Payment.Result.executionStatus | The status of the service execution with possible values: [ SUCCESS |
DATA_ERROR | SYSTEM_ERROR ]
|
String | |
Worldpay.Payment.Result.errorCode | Error code | String | When a DATA_ERROR or SYSTEM_ERROR is experienced, this value provides the
error code.
|
Worldpay.Payment.Result.errorMessage | Error Message | String | When a DATA_ERROR or SYSTEM_ERROR is experienced, this value may provide more
detail on the nature of the error.
|
Worldpay.Payment.Result.rawResponse | Raw response | String | Optional field controlled by the service parameter recordResponseInTxnXML to store
raw response in server VO
|
httpAudit | HTTP Audit Logging | String | Optional field controlled by the service parameter enableHttpAudit to
records information about each HTTP request call made in the execution of a service |
Worldpay.Payment.Result.paymentMethod | Possible values: [ Worldpay ACH Payment Method | Worldpay Cards Payment Method ]
|
String | |
Worldpay.Payment.Result.paymentStatus | Possible values of the payment status throughout the payment process. Worldpay Cards Payment Method [ | Setup | Error | Approved | Settled | Unknown ]
Worldpay ACH Payment Method
[ False | VerificationFailed | Error | Pending (The expected paymentStatus in case of a successful transaction ) ]
|
String | |
Worldpay.Payment.Result.transactionSetupId | A unique ID returned by calling Worldpay - Cards Payment service. It will be used later to
verify cards payment status when applicant completes payment transaction on Worldpay's payment page
inside the iframe.Only used by Worldpay - Cards Payment service.
|
String | |
Worldpay.Payment.Result.currentAccount | A unique string that constructed by concatenating Applicant account's Routing Number and Account
Number. Ex 021000021-1234567890. It is used to keep tacking of which account is being used at the moment
to enable proper validation and error handling. Only used by Worldpay - ACH Payment service.
|
String | |
Worldpay.Payment.Result.accountVerificationInfo | A string constructed from json object that contains information about applicant's accounts used to execute Worldpay
- ACH Payment service.
. Example
[{"verificationMethod": "Worldpay:CheckVerification", "verificationTimestamp": "2019-10-29T14:07:55+11:00", "accountInformation": "021000021-1234567890", "availableBalance": -1.7976931348623157E+308}]. Only
used by Worldpay - ACH Payment service.
|
String | |
Worldpay.Payment.Result.referenceNumber | A number sent with the payment request that can be used later to inquire about the status of the payment transaction. | String | |
Worldpay.Payment.Result.worldPayTransactionProperties | A stringified json object that contains summary information about Worldpay - ACH Payment
payment status. Example
{"expressResponseCode": "0", "transactionStatusCode": "10", "transactionId": "27480003"}. Only
used by Worldpay - ACH Payment service.
|
String | |
Worldpay.Payment.ACH.{RoutingNumber}-{AccountNumber}.currentAttemptNumber | The current attempts number for the account donated by {RoutingNumber}-{AccountNumber}. A txn property
will be created for each applicant account used. Only
used by Worldpay - ACH Payment service. Only persisted as txn properties.
|
String | |
Worldpay.Payment.ACH.{RoutingNumber}-{AccountNumber}.currentAttemptsLeft | The current attempts left for the account donated by {RoutingNumber}-{AccountNumber}. A txn property
will be created for each applicant account used. Only
used by Worldpay - ACH Payment service. Only persisted as txn properties.
|
String |
Scheduled Jobs
The Worldpay - Cards Payment and Worldpay - ACH
Payment services execute the payment transaction and return different values for the paymentStatus
variable in Service Txn properties to indicate a successful transaction.
Upon successful call, the Worldpay - Cards Payment
service will return a paymentStatus
value Approved
. However,
depending on the configuration with Worldpay, a reconciliation process will run - typically within 24 hours- that
will change the value of the transaction to Settled
. Therefore, depending on the use case a job might
need to be created and run to query and update the value of paymentStatus
variable.
Similarly, upon successful call, the Worldpay - ACH
Payment service will return a paymentStatus
value
Pending
. Due to the nature of ACH processing, the status of ACH transactions will be updated over a
period of several days. Therefore, depending on the use case a job might need to be created to frequently update the
value of paymentStatus
variable.
The status of the payment transaction for both payment methods can be determined by submitting a TransactionQuery
request through the Express reporting interface. The request should include the ReferenceNumber
parameter. The value of the ReferenceNumber
variable should be obtained from the Server VO variable
Worldpay.Payment.Result.referenceNumber
.
Configuration Service Support
This package supports the configuration service. Please make sure you follow the instruction below to setup your configuration service correctly.Create a service parameter keyMapping
as below in your configuration service (service-def.json) if you haven't done so
{ "name": "keyMapping", "type": "String", "filePath": "json/keyMapping.json", "bind": false, "required": false, "clearOnExport": false, "readOnly": false },
Note: You only need to create keyMapping service parameter once when you setup your first Exchange package. The rest of the Exchange package will just be keep adding content into the existing service parameter.
Create or append the following content into json/keyMapping.json
"worldpay": [ { "serviceKey": "cards", "serviceName": "Worldpay - Cards Payment", "serviceParamKeyMap": { "recResInXml": "recordResponseInTxnXML", "recResInProp": "recordResponseInTxnProperties", "terminalConfig":"terminalConfiguration", "txnConfig":"transactionConfiguration", "accCredConfig":"accountCredentialsConfiguration", "appConfig":"applicationConfiguration", "txnSetConfig":"transactionSetupConfiguration" } }, { "serviceKey": "ach", "serviceName": "Worldpay - ACH Payment", "serviceParamKeyMap": { "recResInXml": "recordResponseInTxnXML", "recResInProp": "recordResponseInTxnProperties", "terminalConfig":"terminalConfiguration", "txnConfig":"transactionConfiguration", "accCredConfig":"accountCredentialsConfiguration", "appConfig":"applicationConfiguration" } }, { "serviceKey": "verify", "serviceName": "Worldpay - Cards Payment Verification ", "serviceParamKeyMap": { "recResInXml": "recordResponseInTxnXML", "recResInProp": "recordResponseInTxnProperties", "accCredConfig":"accountCredentialsConfiguration", "appConfig":"applicationConfiguration" } } ]
Copy the following service parameters definition in your configuration service (service-def.json) and set the proper values for your project.
{ "name": "worldpay-cards|1.1.0-conn.endpoint", "description": "Service connection Endpoint for Worldpay - Cards Payment service", "value": "https://certtransaction.elementexpress.com/", "type": "String", "bind": false, "required": true, "clearOnExport": false, "readOnly": false }, { "name": "worldpay-cards|1.1.0-conn.username", "description": "Service connection Username for Worldpay - Cards Payment service", "value": "1051704", "type": "String", "bind": false, "required": true, "clearOnExport": false, "readOnly": false }, { "name": "worldpay-cards|1.1.0-conn.password", "description": "Service connection password for Worldpay - Cards Payment service", "value": "874767386", "type": "Password", "bind": false, "required": true, "clearOnExport": false, "readOnly": false }, { "name": "worldpay-cards|1.1.0-terminalConfig", "description": "Terminal configurations", "value": "TerminalID\u003d0001\r\nTerminalType\u003d2\r\nCardPresentCode\u003d3\r\nCardholderPresentCode\u003d7\r\nCardInputCode\u003d4\r\nCVVPresenceCode\u003d2\r\nTerminalCapabilityCode\u003d5\r\nTerminalEnvironmentCode\u003d6\r\nMotoECICode\u003d7\r\nCVVResponseType\u003d1\r\nConsentCode\u003d3\r\nTerminalSerialNumber\u003d\r\nTerminalEncryptionFormat\u003d0\r\nLaneNumber\u003d\r\nStoreCardID\u003d\r\nStoreCardPassword\u003d\r\nOperatorID\u003d", "type": "String", "bind": false, "required": true, "clearOnExport": false, "readOnly": false }, { "name": "worldpay-cards|1.1.0-txnConfig", "description": "Transaction configurations", "value": "TransactionAmount\u003d\r\nReferenceNumber\u003d\r\nTicketNumber\u003d\r\nMarketCode\u003d3\r\nPartialApprovedFlag\u003d0\r\n\r\nDuplicateCheckDisableFlag\u003d1\r\nDuplicateOverrideFlag\u003d1\r\nMerchantSuppliedTransactionID\u003d\r\nPaymentType\u003d\r\nSubmissionType\u003d\r\nNetworkTransactionID\u003d\r\n\r\n\r\n\r\n\r\n", "type": "String", "bind": false, "required": true, "clearOnExport": false, "readOnly": false }, { "name": "worldpay-cards|1.1.0-accCredConfig", "description": "AccountToken configuration ", "value": "AccountToken\u003d8331A712ECB527DEB0A51EFC8D3EDEE37470C415D92FE9658ACEF1B45439268D81891D01", "type": "String", "bind": false, "required": true, "clearOnExport": false, "readOnly": false }, { "name": "worldpay-cards|1.1.0-appConfig", "description": "Application configurations. Id, name, and version.", "value": "ApplicationID\u003d10096\r\nApplicationName\u003dAvoka Test Application\r\nApplicationVersion\u003dBeta", "type": "String", "bind": false, "required": true, "clearOnExport": false, "readOnly": false }, { "name": "worldpay-cards|1.1.0-txnSetConfig", "description": "Transaction setup configurations", "value": "TransactionSetupMethod\u003d1\r\nEmbedded\u003d0\r\nDevice\u003d2\r\nCVVRequired\u003d0\r\nAutoReturn\u003d1\r\nDeviceInputCode\u003d0\r\nCompanyName\u003dVault\r\nLogoURL\u003d\r\nWelcomeMessage\u003d\r\nTagline\u003d\r\nReturnURL\u003dhttps://exchange.avoka-transact.com/web-plugin/index.htm\r\nReturnURLTitle\u003dReturn to Vault\r\nOrderDetails\u003d\r\nProcessTransactionTitle\u003d\r\nCustomCss\u003d\r\n\r\n\r\n", "type": "String", "bind": false, "required": true, "clearOnExport": false, "readOnly": false }, { "name": "worldpay-cards|1.1.0-customCSS", "description": "CSS configurations", "value": "body {\r\nfont-family: Arial; font-size: 12px; color: #000099;\r\nbackground-color: #FFFFFF;\r\n}\r\n.selectOption {\r\nfont-family:Arial;\r\n}\r\n.inputText {\r\nfont-family:Arial;\r\n}\r\n.buttonEmbedded:link {\r\ncolor: blue;\r\n}", "type": "String", "bind": false, "required": false, "clearOnExport": false, "readOnly": false }, { "name": "worldpay-cards|1.1.0-enableHttpAudit", "description": "With HTTP auditing enabled, details about each HTTP request (including request and response data) are stored in a transaction property as a JSON array against the relevant transaction.", "value": "false", "type": "Boolean", "bind": false, "required": false, "clearOnExport": false, "readOnly": false }, { "name": "worldpay-cards|1.1.0-disableMilestones", "description": "Whether to disable Journey Analytics milestones for this service.", "value": "false", "type": "Boolean", "bind": false, "required": false, "clearOnExport": false, "readOnly": false }, { "name": "worldpay-cards|1.1.0-recResInProp", "description": "Record response as txn property.", "value": "false", "type": "Boolean", "bind": false, "required": false, "clearOnExport": false, "readOnly": false }, { "name": "worldpay-cards|1.1.0-recResInXml", "description": "Record response in FisIdvVO and persisted in Txn XML.", "value": "false", "type": "Boolean", "bind": false, "required": false, "clearOnExport": false, "readOnly": false }, { "name": "worldpay-cards|1.1.0-maxAttemptNumber", "description": "Max number allowed to initiate API calls in a single session. -1 means no limit.", "value": "3", "type": "Number", "bind": false, "required": true, "clearOnExport": false, "readOnly": false }, { "name": "worldpay-ach|1.1.0-conn.endpoint", "description": "Service connection Endpoint for Worldpay - Payment ACH service", "value": "https://certtransaction.elementexpress.com/", "type": "String", "bind": false, "required": true, "clearOnExport": false, "readOnly": false }, { "name": "worldpay-ach|1.1.0-conn.username", "description": "Service connection Username for Worldpay - Payment ACH service", "value": "1051704", "type": "String", "bind": false, "required": true, "clearOnExport": false, "readOnly": false }, { "name": "worldpay-ach|1.1.0-conn.password", "description": "Service connection password for Worldpay - Payment ACH service", "value": "874767386", "type": "Password", "bind": false, "required": true, "clearOnExport": false, "readOnly": false }, { "name": "worldpay-ach|1.1.0-terminalConfig", "description": "Terminal configurations", "value": "TerminalID\u003d0001\r\nTerminalType\u003d2\r\nCardPresentCode\u003d3\r\nCardholderPresentCode\u003d7\r\nCardInputCode\u003d4\r\nCVVPresenceCode\u003d2\r\nTerminalCapabilityCode\u003d5\r\nTerminalEnvironmentCode\u003d6\r\nMotoECICode\u003d7\r\nCVVResponseType\u003d1\r\nConsentCode\u003d3\r\nTerminalSerialNumber\u003d\r\nTerminalEncryptionFormat\u003d0\r\nLaneNumber\u003d\r\nStoreCardID\u003d\r\nStoreCardPassword\u003d\r\nOperatorID\u003d", "type": "String", "bind": false, "required": true, "clearOnExport": false, "readOnly": false }, { "name": "worldpay-ach|1.1.0-txnConfig", "description": "Transaction configurations", "value": "TransactionAmount\u003d\r\nReferenceNumber\u003d\r\nTicketNumber\u003d\r\nMarketCode\u003d3\r\nPartialApprovedFlag\u003d0\r\n\r\nDuplicateCheckDisableFlag\u003d1\r\nDuplicateOverrideFlag\u003d1\r\nMerchantSuppliedTransactionID\u003d\r\nPaymentType\u003d\r\nSubmissionType\u003d\r\nNetworkTransactionID\u003d\r\n\r\n\r\n\r\n\r\n", "type": "String", "bind": false, "required": true, "clearOnExport": false, "readOnly": false }, { "name": "worldpay-ach|1.1.0-accCredConfig", "description": "AccountToken configuration ", "value": "AccountToken\u003d8331A712ECB527DEB0A51EFC8D3EDEE37470C415D92FE9658ACEF1B45439268D81891D01", "type": "String", "bind": false, "required": true, "clearOnExport": false, "readOnly": false }, { "name": "worldpay-ach|1.1.0-appConfig", "description": "Application configurations. Id, name, and version.", "value": "ApplicationID\u003d10096\r\nApplicationName\u003dAvoka Test Application\r\nApplicationVersion\u003dBeta", "type": "String", "bind": false, "required": true, "clearOnExport": false, "readOnly": false }, { "name": "worldpay-ach|1.1.0-enableHttpAudit", "description": "With HTTP auditing enabled, details about each HTTP request (including request and response data) are stored in a transaction property as a JSON array against the relevant transaction.", "value": "false", "type": "Boolean", "bind": false, "required": false, "clearOnExport": false, "readOnly": false }, { "name": "worldpay-ach|1.1.0-disableMilestones", "description": "Whether to disable Journey Analytics milestones for this service.", "value": "false", "type": "Boolean", "bind": false, "required": false, "clearOnExport": false, "readOnly": false }, { "name": "worldpay-ach|1.1.0-recResInProp", "description": "Record response as txn property.", "value": "false", "type": "Boolean", "bind": false, "required": false, "clearOnExport": false, "readOnly": false }, { "name": "worldpay-ach|1.1.0-recResInXml", "description": "Record response in FisIdvVO and persisted in Txn XML.", "value": "false", "type": "Boolean", "bind": false, "required": false, "clearOnExport": false, "readOnly": false }, { "name": "worldpay-ach|1.1.0-maxAttemptNumber", "description": "Max number allowed to initiate API calls in a single session. -1 means no limit.", "value": "3", "type": "Number", "bind": false, "required": true, "clearOnExport": false, "readOnly": false }, { "name": "worldpay-verify|1.1.0-conn.endpoint", "description": "Service connection Endpoint for Worldpay - Payment Verification service", "value": "https://certreporting.elementexpress.com/", "type": "String", "bind": false, "required": true, "clearOnExport": false, "readOnly": false }, { "name": "worldpay-verify|1.1.0-conn.username", "description": "Service connection Username for Worldpay - Payment Verification service", "value": "1051704", "type": "String", "bind": false, "required": true, "clearOnExport": false, "readOnly": false }, { "name": "worldpay-verify|1.1.0-conn.password", "description": "Service connection password for Worldpay - Payment Verification service", "value": "874767386", "type": "Password", "bind": false, "required": true, "clearOnExport": false, "readOnly": false }, { "name": "worldpay-verify|1.1.0-accCredConfig", "description": "AccountToken configuration ", "value": "AccountToken\u003d8331A712ECB527DEB0A51EFC8D3EDEE37470C415D92FE9658ACEF1B45439268D81891D01", "type": "String", "bind": false, "required": true, "clearOnExport": false, "readOnly": false }, { "name": "worldpay-verify|1.1.0-appConfig", "description": "Application configurations. Id, name, and version.", "value": "ApplicationID\u003d10096\r\nApplicationName\u003dAvoka Test Application\r\nApplicationVersion\u003dBeta", "type": "String", "bind": false, "required": true, "clearOnExport": false, "readOnly": false }, { "name": "worldpay-verify|1.1.0-enableHttpAudit", "description": "With HTTP auditing enabled, details about each HTTP request (including request and response data) are stored in a transaction property as a JSON array against the relevant transaction.", "value": "false", "type": "Boolean", "bind": false, "required": false, "clearOnExport": false, "readOnly": false }, { "name": "worldpay-verify|1.1.0-disableMilestones", "description": "Whether to disable Journey Analytics milestones for this service.", "value": "false", "type": "Boolean", "bind": false, "required": false, "clearOnExport": false, "readOnly": false }, { "name": "worldpay-verify|1.1.0-recResInProp", "description": "Record response as txn property.", "value": "false", "type": "Boolean", "bind": false, "required": false, "clearOnExport": false, "readOnly": false }, { "name": "worldpay-verify|1.1.0-recResInXml", "description": "Record response in FisIdvVO and persisted in Txn XML.", "value": "false", "type": "Boolean", "bind": false, "required": false, "clearOnExport": false, "readOnly": false }
Note: Once you setup your application to use configuration service, all the service connection and service parameters data directly comes from the your configuration service. So there is no need to setup the original service connection or service parameter of the Exchange fluent function.
Enable/Disable the configuration service
In order to enable the configuration service in your application, please define the following organisation property in your organisationConfigServiceName
.
This is to define which configuration service you would like to use in your organisation. For example, if you decide to
trigger MyCompanyServiceConfiguration as the configuration service, set the following organisation property.
ConfigServiceName=MyCompanyServiceConfiguration
Note: Configuration service is an organisation level option. Once enabled, all Exchange services within the organisation will start retrieving the service connection and service parameters info from configuration service you specified above.
You can simply delete the organisation propertyConfigServiceName
to disable the configuration service in your organisation.Maestro Assets
Worldpay - Cards Payment allows applicant to run a card payment transaction
Properties
Property | Category | Description | Type | Default |
---|---|---|---|---|
Payment Details | Input Fields | Defines input mappings for payment details data collected elsewhere in the form. Required mapping is Transaction Amount
Field Refs:
|
fieldRefMap | |
Show Retry Button | Options | Optionally allow a retry button to show if the payment status is unknown | boolean |
true
|
Use Mobile page | Options | Optionally specify if Worldpay mobile page is to be used for mobile devices | boolean |
true
|
Worldpay - ACH component captures ACH payment information (execution_status, errorCode, errorMessage, attemptsLeft, attemptsUsed, paymentStatus, paymentMethod, and currentAccount)
Properties
Property | Category | Description | Type | Default |
---|---|---|---|---|
Error messages Control Fields | Options | Define input mappings for fields required to control error message.
Define input mappings for fields required to control error message. Only required if "Show Error Messages" is enabled.
Field Refs:
|
fieldRefMap | |
Show Error Messages | Options | Optionally show error message fields | boolean |
false
|
Shared Styles
-
LoaderIframeStyle Library: exchange-worldpay-taf
Services
Service Connection
Compatibility
Module | Compatibility |
---|---|
Manager | 17.10.9 |
Service Parameters
Name | Description | Required | Default |
---|---|---|---|
recordResponseInTxnProperties | Record response as txn property. | No |
false
|
recordResponseInTxnXML | Record response in WorldpayPaymentResultServerVO and persisted in Txn XML. | No |
false
|
maxAttemptNumber | Max number allowed to execute ACH payment per applicant account. -1 means no limit. | Yes |
3
|
terminalConfiguration | Terminal configurations | Yes |
TerminalID=0001
TerminalType=2
CardPresentCode=3
CardholderPresentCode=7
CardInputCode=4
CVVPresenceCode=2
TerminalCapabilityCode=5
TerminalEnvironmentCode=6
MotoECICode=7
CVVResponseType=1
ConsentCode=3
TerminalSerialNumber=
TerminalEncryptionFormat=0
LaneNumber=
StoreCardID=
StoreCardPassword=
OperatorID=
|
transactionConfiguration | Transaction configurations | Yes |
TransactionAmount=
ReferenceNumber=
TicketNumber=
MarketCode=3
PartialApprovedFlag=0
DuplicateCheckDisableFlag=1
DuplicateOverrideFlag=1
MerchantSuppliedTransactionID=
PaymentType=
SubmissionType=
NetworkTransactionID=
|
accountCredentialsConfiguration | AccountToken configuration | Yes |
AccountToken=8331A712ECB527DEB0A51EFC8D3EDEE37470C415D92FE9658ACEF1B45439268D81891D01
|
applicationConfiguration | Application configurations. Id, name, and version. | Yes |
ApplicationID=10096
ApplicationName=Avoka Test Application
ApplicationVersion=Beta
|
enableHttpAudit | With HTTP auditing enabled, details about each HTTP request (including request and response data) are stored in a transaction property as a JSON array against the relevant transaction. | No |
false
|
disableMilestones | Whether to disable Journey Analytics milestones for this service. | No |
false
|
configServiceAppName | AppName for configuration service. All exchange services use vendor code for AppName. | Yes |
worldpay
|
Inputs
Name | Description | Required |
---|---|---|
BillingName | Consumer Name in FirstName LastName format (String 50) . |
Yes |
AccountNumber | Account Number of consumer bank account (String 20) |
Yes |
RoutingNumber | Routing Number of the financial institution (String 9) ; |
Yes |
AccountType | Type of account. Checking or Savings [0|1] |
Yes |
Amount | Dollar amount of transaction (String 10) Format D.CC (99999.99). |
Yes |
BillingAddress1 | The street address used for billing purposes (String 50) |
No |
BillingZipcode | The zip code used for billing purposes (String 20) |
No |
TaxIdNumber | SSN or Tax ID (no dashes) (String 9) |
No |
DriversLicenseNumber | Drivers License Number (String 40) |
No |
DriversLicenseState | 2-character state abbreviation (e.g. CA, NY, AZ) where the license was issued (String 2) |
No |
BirthDate | Date of Birth. Format YYYYMMDD (String 8) |
No |
VerifiedByExternalSource | Name of external account verification service(String 50) |
No |
Outputs
Name | Description |
---|---|
data.executionStatus | The status of the service execution [ SUCCESS | DATA_ERROR | SYSTEM_ERROR ]. Successful execution will be denoted by a |
data.errorMessage | When a DATA_ERROR is experienced, this value may provide more detail on the nature of the error. |
data.errorCode | When a DATA_ERROR is experienced, this value provides the error code. |
Service Connection
Compatibility
Module | Compatibility |
---|---|
Manager | 17.10.9 |
Service Parameters
Name | Description | Required | Default |
---|---|---|---|
recordResponseInTxnProperties | Record response as txn property. | No |
false
|
recordResponseInTxnXML | Record response in WorldpayPaymentResultServerVO and persisted in Txn XML. | No |
false
|
maxAttemptNumber | Max number allowed to initiate API calls in a single session. -1 means no limit. | Yes |
3
|
terminalConfiguration | Terminal configurations | Yes |
TerminalID=0001
TerminalType=2
CardPresentCode=3
CardholderPresentCode=7
CardInputCode=4
CVVPresenceCode=2
TerminalCapabilityCode=5
TerminalEnvironmentCode=6
MotoECICode=7
CVVResponseType=1
ConsentCode=3
TerminalSerialNumber=
TerminalEncryptionFormat=0
LaneNumber=
StoreCardID=
StoreCardPassword=
OperatorID=
|
transactionConfiguration | Transaction configurations | Yes |
TransactionAmount=
ReferenceNumber=
TicketNumber=
MarketCode=3
PartialApprovedFlag=0
DuplicateCheckDisableFlag=1
DuplicateOverrideFlag=1
MerchantSuppliedTransactionID=
PaymentType=
SubmissionType=
NetworkTransactionID=
|
accountCredentialsConfiguration | AccountToken configuration | Yes |
AccountToken=8331A712ECB527DEB0A51EFC8D3EDEE37470C415D92FE9658ACEF1B45439268D81891D01
|
applicationConfiguration | Application configurations. Id, name, and version. | Yes |
ApplicationID=10096
ApplicationName=Avoka Test Application
ApplicationVersion=Beta
|
transactionSetupConfiguration | Transaction setup configurations | Yes |
TransactionSetupMethod=1
Embedded=0
Device=2
CVVRequired=0
AutoReturn=1
DeviceInputCode=0
CompanyName=Vault
LogoURL=
WelcomeMessage=
Tagline=
ReturnURL=https://exchange.avoka-transact.com/web-plugin/index.htm
ReturnURLTitle=Return to Vault
OrderDetails=
ProcessTransactionTitle=
CustomCss=
|
customCSS | CSS configurations | No |
body {
font-family: Arial; font-size: 12px; color: #000099;
background-color: #FFFFFF;
}
.selectOption {
font-family:Arial;
}
.inputText {
font-family:Arial;
}
.buttonEmbedded:link {
color: blue;
}
|
enableHttpAudit | With HTTP auditing enabled, details about each HTTP request (including request and response data) are stored in a transaction property as a JSON array against the relevant transaction. | No |
false
|
disableMilestones | Whether to disable Journey Analytics milestones for this service. | No |
false
|
configServiceAppName | AppName for configuration service. All exchange services use vendor code for AppName. | Yes |
worldpay
|
Inputs
Name | Description | Required |
---|---|---|
BillingAddress1 | The street address used for billing purposes (String 50) . |
No |
BillingZip | The zip code used for billing purposes (String 20) |
No |
TransactionAmount | Dollar amount of transaction (String 10) Format D.CC (99999.99). |
Yes |
Outputs
Name | Description |
---|---|
data.executionStatus | The status of the service execution [ SUCCESS | DATA_ERROR | SYSTEM_ERROR ]. Successful execution will be denoted by a |
data.errorMessage | When a DATA_ERROR is experienced, this value may provide more detail on the nature of the error. |
data.errorCode | When a DATA_ERROR is experienced, this value provides the error code. |
data.transactionSetupId | A unique id identifying a successful initialization of cards payment. Can be used later for payment verification. |
data.paymentMethod | The payment method, it should return Worldpay Cards Payment Method |
data.paymentStatus | The status of the payment transaction setup [Setup |Error ] |
Service Connection
Compatibility
Module | Compatibility |
---|---|
Manager | 17.10.9 |
Service Parameters
Name | Description | Required | Default |
---|---|---|---|
recordResponseInTxnProperties | Record response as txn property. | No |
false
|
recordResponseInTxnXML | Record response in WorldpayPaymentResultServerVO and persisted in Txn XML. | No |
false
|
accountCredentialsConfiguration | AccountToken configuration variable | Yes |
AccountToken=8331A712ECB527DEB0A51EFC8D3EDEE37470C415D92FE9658ACEF1B45439268D81891D01
|
applicationConfiguration | Application configurations. Id, name, and version. | Yes |
ApplicationID=10096
ApplicationName=Avoka Test Application
ApplicationVersion=Beta
|
enableHttpAudit | With HTTP auditing enabled, details about each HTTP request (including request and response data) are stored in a transaction property as a JSON array against the relevant transaction. | No |
false
|
disableMilestones | Whether to disable Journey Analytics milestones for this service. | No |
false
|
configServiceAppName | AppName for configuration service. All exchange services use vendor code for AppName. | Yes |
worldpay
|
Outputs
Name | Description |
---|---|
data.executionStatus | The status of the service execution [ SUCCESS | DATA_ERROR | SYSTEM_ERROR ]. Successful execution will be denoted by a |
data.errorMessage | When a DATA_ERROR is experienced, this value may provide more detail on the nature of the error. |
data.errorCode | When a DATA_ERROR is experienced, this value provides the error code. |
data.transactionSetupId | A unique id that was used to verify the payment status. |
data.paymentMethod | The payment method, it should return Worldpay Cards Payment Method |
data.paymentStatus | The status of the payment transaction setup [Approved |Settled |Unknown |Error ] |
Service Connections
The following service connections are used by this package.
Property Name | Description | Required |
---|---|---|
Type | HTTP Endpoint | Yes |
Endpoint |
Worldpay - Cards Payment Interface end point.
|
Yes |
Username | AccountID is a unique account identifier provided by WorldPay. | Yes |
Password |
AcceptorID is a unique identifier provided by WorldPay. AccountToken is another identifier provided by WorldPay that should be configured in Service Parameter accountCredentialsConfiguration
|
Yes |
Property Name | Description | Required |
---|---|---|
Type | HTTP Endpoint | Yes |
Endpoint |
Worldpay - Cards Payment Interface end point.
|
Yes |
Username | AccountID is a unique account identifier provided by WorldPay. | Yes |
Password |
AcceptorID is a unique identifier provided by WorldPay. AccountToken is another identifier provided by WorldPay that should be configured in Service Parameter accountCredentialsConfiguration
|
Yes |
Property Name | Description | Required |
---|---|---|
Type | HTTP Endpoint | Yes |
Endpoint |
Worldpay - Cards Payment Interface end point.
|
Yes |
Username | AccountID is a unique account identifier provided by WorldPay. | Yes |
Password |
AcceptorID is a unique identifier provided by WorldPay. AccountToken is another identifier provided by WorldPay that should be configured in Service Parameter accountCredentialsConfiguration
|
Yes |