The Payment Connector supports sending electronic payment information to one of several popular Payment Processing Gateways.
Payment Processing Gateways allow for implementing electronic payments within ArcESB. The Payment Connector packages payment data (credit card number, amount, etc) into a secure web request and sends it to one of 5 available Payment Gateways to process the payment:
- Cyber Source
- Chase Paymentech Orbital
Once a Gateway is configured, the settings of the connector can be configured with the values that are used in all transactions sent to the Gateway (e.g. merchant credentials). Values that are specific to a particular transaction (e.g. Credit Card data, payment amount, etc) are passed in to the connector via an input XML file. To ensure the appropriate XML is processed by the connector, it is strongly recommended to use the XML Map Connector as the previous step in the Flow. More information can be found in the Use with the XML Map Connector section.
This section contains all of the configurable connector properties.
Settings related to the core configuration of the connector. Some settings are only available when a particular Gateway is set.
- Connector Id The static name of the connector. All connector-specific files are held in a folder by the same name within the Data Directory.
- Connector Description An optional field to provide free-form description of the connector and its role in the flow.
- Gateway The Payment Processing Gateway to which payment information will be sent. The Gateway is in charge of processing the credit card and performing the secure transaction. The remaining settings in the Configuration section will update depending on the value set here.
- Merchant Login A credential required when the Authorize.NET, Cyber Source, Chase Orbital, or Payeezy Gateway is set.
- Merchant Password A credential required when the Authorize.NET, Cyber Source, Chase Orbital, or Payeezy Gateway is set.
- API Key A credential required when the Stripe Gateway is set.
- Currency Code A required parameter when the Stripe, Cyber Source, Chase Orbital, or Payeezy Gateway is set.
- Validation Whether the connector should perform basic validation on the Credit Card information to prevent basic errors like an invalid Credit Card number or an expiration date that has already elapsed. Note that this validation is generic, and does not make more advanced checks like ensuring that the Credit Card information fits a valid payment profile.
- Test Mode Whether the payment should be processed as a test, meaning no funds are actually transferred during a successful processing.
- Orbital Connection Username A credential required when the Chase Orbital Gateway is set.
- Orbital Connection Password A credential required when the Chase Orbital Gateway is set.
- HMAC Key A credential required when the Payeezy Gateway is set.
- FDMS Key ID A credential required when the Payeezy Gateway is set.
Settings related to the folders that the connector uses to process local files.
- Send/Input Folder XML files placed in this folder will be used to send an outgoing request to the configured payment Gateway. When the connector is part of a connected Flow, files will automatically be moved here after processing by the previous connector.
- Sent Folder A copy of any files processed by the connector will be placed in the Sent folder as long as Save to Sent Folder is enabled.
Settings related to the allocation of resources to the connector.
- Max Workers The maximum number of worker threads that will be consumed from the threadpool to process files on this connector. If set, overrides the default setting from the Profile tab.
- Max Files The maximum number of files that will be processed by the connector each time worker threads are assigned to the connector. If set, overrides the default setting from the Profile tab.
Settings related to uploading to the remote storage.
- Remote Folder Files processed by the connector will be uploaded to this specified remote folder.
- Overwrite remote files Whether files that already exist in the remote folder should be uploaded (overwritten) or skipped.
Settings not included in the previous categories.
- Gateway URL The connector will automatically determine the target URL based on the configured Gateway, but this setting can be used to override the URL in rare cases where this is necessary.
- Local File Scheme A filemask for determining local file names as they are downloaded by the connector. The following macros may be used to reference contextual information:
%ConnectorId%, %Filename%, %FilenameNoExt%, %Ext%, %ShortDate%, %LongDate%, %RegexFilename:%, %DateFormat:%.
As an example: %FilenameNoExt%_%ShortDate%%Ext%
- Log Messages Whether the log entry for a processed file will include a copy of the file itself.
- Save to Sent Folder Whether files processed by the connector should be copied to the Sent folder for the connector.
- Starting Invoice Number The invoice number to use when processing the first payment; successive payments will increment the invoice number to keep each payment unique. More information on invoice numbers can be found in the Invoice Numbers section.
Settings related to the automatic processing of files by the connector.
- Send Whether files arriving at the connector will automatically be uploaded.
- Retry Interval The amount of time before a failed upload is retried.
- Retry Maximum Attempts The maximum number of times a failed upload will be retried.
Establishing a Connection
The Payment Connector handles the details of establishing a secure connection with the target Gateway. Gateways have a standard HTTPS URL to which payment request data is sent, and the Payment Connector automatically uses the appropriate URL according to the connector settings. For rare cases where the target URL needs to be overwritten, the Gateway URL field in the Advanced tab can be used to specify a custom URL.
Payment Gateways use HTTPS (HTTP over SSL/TLS) to securely receive payment information. The Payment Connector handles the encryption of Credit Card data with SSL/TLS automatically so that the data is not vulnerable while in transit, and only the Payment Gateway can decrypt and process the data. Thus, as soon as any sensitive data has left ArcESB it is already protected by encryption.
While Credit Card data remains within an ArcESB Flow, encryption is not guaranteed. Connectors such as the PGP Connector can be used to encrypt and decrypt sensitive data, but since ArcESB holds application data in files on disk, access to the file system on the machine hosting ArcESB may mean access to the payment data. As such, it is recommended to host ArcESB in a secure network to ensure that data inside the ArcESB Flow is not vulnerable to outside attackers.
Use with the XML Map Connector
When an XML Map Connector is connected to a Payment Connector in an Arc Flow, the Destination Template dropdown for the XML Map Connector will automatically update to include a model of the XML required to submit valid payment data (make sure that the connections/changes in the Flow are saved via the blue save icon in the bottom right of the Flows page).
This automatic template detection simplifies the process of turning source data into an input file that the Payment Connector will accept. The XML Map Connector provides a drag-and-drop interface to map data from source XML onto the fields required by the Payment Connector. Flows that involve the Payment Connector will typically include an XML Map Connector as the prior step in the Flow.
Since the XML Map Connector requires that source files are XML, it may be necessary to convert source data into XML as a prior step in the Flow. For example, if the data for the payment comes from an EDI file, then a typical Flow configuration would involve an EDI connector (e.g. an X12 Connector or an EDIFACT Connector) that is linked to an XML Map Connector that is linked to the Payment Connector. The XML Map Connector is used to map between the EDI data and the required payment data.
Payments processed by a Payment Gateway are typically associated with a particular invoice. The Payment Connector can both read invoice numbers from input files and generate auto-incrementing invoice numbers.
The Payment Connector looks for an invoice number in two places in input files (in order):
- A message header called
- An XML element called
If the input file does not have a value specified in this header or this XML element, then the Payment Connector will generate an invoice number. Invoice numbers generated by the connector start at the value specified in the Starting Invoice Number field in the Advanced tab, and auto-increment for each successive payment.