Batch Processing API

These specifications are intended for integrators.

Test Credentials

It is possible to test batch transaction processing on the TEST environment using the credentials below. For more information, please contact Merchant Support.

SEPA Transactions

SFTP Folder

Please contact Merchant Support

TEST Merchant Account ID

0f3dfbdd-df34-454f-9f2a-6c46e43ce6af

Username when using ReST API

3878-MerchantTest

Password when using ReST API

2m125m7Z`n824V

Credit Card Transactions

SFTP Folder

Please contact Merchant Support

TEST Merchant Account ID

d0b01877-a4e2-4d50-9316-6190d4a008d4

For security reasons, it is recommended to avoid using live Credit Card data when processing test batch files. Please always use TEST Credit Card data.

Workflow

Batch Processing API Workflow
  1. The Merchant Operator applies Pretty Good Privacy (PGP) encryption using Wirecard’s public key and uploads the encrypted request file via SFTP to the from/new folder (eg: from<foldername>/new folder).

  2. The Batch Processing Service retrieves the request file and moves the original request file from the new to the processed subfolders if the upload was successful (eg: from<foldername>/new subfolder to the from<foldername>/processed subfolder). In case of uploading error, the request file is moved to the error subfolder (eg: from<foldername>/error)

  3. The Batch Processing Service processes each transaction in the request file and generates a PGP encrypted response file using the Merchant’s Public Key.

  4. When processing was successful, the encrypted response file is deposited in the to<foldername>/new folder on the SFTP server. In case processing failed due to a corrupted request file, the request file is stored into folder to<foldername>/error.

  5. The merchant operator retrieves the encrypted response file and decrypts it using their private key.

SFTP for Batch Processing

SFTP (Secure File Transfer Protocol) is used to securely transfer files between the merchant and the Batch Processing Service.

Server Directory Structure

Once logged onto the SFTP server, the merchant or partner is automatically connected by its customer or partner number (e.g. C0001) to the file repository, set up by Wirecard. In the root window of the remote SFTP server site (Wirecard server) the following subdirectories are available:

SFTP Server Directory Structure
Figure 9. Remote SFTP Server

The folders from<foldername> (eg: fromC0001 or fromP0001) and to<foldername> (eg: toC0001 or toP0001) are important for the batch processing. They are used for upload (from<foldername>) and download (to<foldername>) files by the merchant.

Folder from<foldername> contains the following three subfolder.

SFTP Server Directory Structure of Subfolders
Figure 10. Remote SFTP Server Subfolders
  • error The folder to where the request file is moved by the batch server in case an upload problem occurred.

  • new The folder where the Merchant uploads his (encrypted) request files.

  • processed The folder to where the correctly processed request files are moved by the batch service.

Folder to<foldername> contains the same named subfolders used for

  • error The folder where the batch processing service stores the request file in case of the request file was corrupted.

  • new The folder where the batch processing service deposits the encrypted response file.

  • processed The folder where the Merchant stores the response file after it is picked up.

The response file contains success and failed transactions.

Upload/Download

Upload Request Files
  1. Login to SFTP server.

  2. Open folder from<foldername>

  3. Copy your batch files to the subfolder new.

Download Response Files
  1. Login to SFTP server.

  2. Open the folder to<foldername>

  3. Retrieve the response files from the subfolder new and save them to your local machine.

  4. Move the response files from subfolder new to subfolder processed, in order to keep track of your already retrieved files.

Wirecard stores the old copies of your processed batch files on the Wirecard file server for up to 3 months. After that time period they will be deleted automatically. It is at your discretion to use this file repository.
Processing Time

Processing of batch files begins at 8:00 am CET. Each customer’s file will be picked up and processed individually. Processing time may vary depending on the number of customers using this service.

The response file will be available in the subfolder to<foldername>/new for pick up as soon as the request file has been fully processed.

URL and Credentials

The URL and credentials for the SFTP Server must be provided prior to production integration. Please contact Merchant Support if you did not receive your credentials.

Files

Specifications

Request and response files must meet the following criteria:

  • Encrypted with PGP (mandatory for files including Credit Card transactions)

  • Formatted as .csv

  • This means, only comma (,) is accepted as separator!

    A field value must not contain a comma!
  • Linefeed: LF (Unix format) must be used as separator for the different transactions

  • Include header columns for each field

  • Encoded in UTF-8

  • The different parameters must be defined in the order given in the table Batch Processing SEPA.

Please refer to the Sample for Batch Processing.

Request

Batch processing has been designed to accept transactions for several payment methods. Field requirements vary by different payment methods.

Credit Card

The Credit Card Fields table describes the fields that must be provided for Credit Card transaction requests.

  • The fields must be defined in the .csv file in the order given in the following table to allow correct processing.

  • CSV format requires that each field must be specified. Empty fields (optional fields or fields not used by Credit Card) have to be defined as empty values separated by commas: ,,.

Example
…3.33,EUR,4012000300001003,…
Batch processing for Credit Card does not support submitting the CVV/CVC.

+ To process Credit Card transactions via batch, it is recommended to first submit an online authorization transaction via API and follow-up with a capture transaction via batch. A capture must be submitted with a parent-Transaction ID referring to a successful authorization transaction.

+ Please refer to Credit Card for more information. The names used in the batch service may differ from the field names given in the API documentation. For details see the Batch API Field Name Mapping table.

SEPA

Batch processing has been designed to accept transactions for several payment methods. Field requirements vary by different payment methods.

The Batch API SEPA Fields Table describes the fields that must be provided for SEPA transaction requests.

  • The fields must be defined in the .csv file in the order given in the following table to allow correct processing.

  • CSV format requires that each field must be specified. Empty fields (optional fields or fields not used by SEPA) have to be defined as empty values separated by commas: ,,.

Example
 …121.22,EUR,,DE42512308000000060004,…

Please refer to SEPA DD and SEPA CT for more information. The names used in the batch service may differ from the field names given in the API documentation. For details see the Batch API Field Name Mapping table.

Request File Naming

Request files must be given a unique batch ID using the following format:

requestbatchid.timestamp.request.csv.pgp

Example
batchsample001.201201011801.*request*.csv.pgp
  • Where timestamp is in the format of YYYYMMDDhhmm and in UTC timezone.

  • The request batch ID will be included in the response filename and within the response file content.

  • PGP encryption is optional.

If the file is encrypted, the extension .pgp must be added to the file name!
Response
Response File Naming

Response files will be named after the request file including the request batch ID, timestamp and customer number:

requestbatchid.timestamp.<foldername>.response.csv.pgp

Meaning
  • Extension .pgp will only be added if PGP encryption was requested.

  • <foldername> is the merchants' number (SFTP User), eg: C0001

Example
  • Request file: batchsample001.201201011801.request.csv.pgp

  • Corresponding response file: batchsample001.201201011801.C0001.response.csv.pgp

Fields

Credit Card Request
Field Cardinality Datatype Size Description

merchant_account_id

M

Alphanumeric

36

Account ID of the merchant.

request_id

M

Alphanumeric

150

Unique request ID for each Transaction (= Merchant Transaction ID).

payment_method_id

M

Alphanumeric

15

Payment method.

Only SEPA DD, SEPA CT and Credit Card are allowed.

transaction_type

M

Alphanumeric

30

Transaction type (direct relationship to payment method).

parent_transaction_id

O

Alphanumeric

36

Transaction ID of authorization or parent transaction, if either transaction is available and should be referred to.

requested_amount

O

Numeric

15

Amount in decimal number. Max length = total number of digits.

The number of digits after the decimal point depends on the currency. Example: 100.000 INR (Indian Rupee) but 100.00 EUR

requested_amount_currency

O

Alphanumeric

3

Currency.

account_number

O

Alphanumeric

36

This is the card account number of the end consumer. It is mandatory if card-token is not used.

iban

Empty

Alphanumeric

0

"Provide empty value" for this field by using the construct ,,.

bic

Empty

Alphanumeric

0

"Provide empty value" for this field by using the construct ,,.

token_id

O

Alphanumeric

36

This is the token corresponding to account_number of the end consumer. It is mandatory if account_number is not specified. It is unique per instance.

card_type

O

See Card Types defined in API

15

This is the consumer’s card type.

expiration_month

O

Numeric

2

This is the expiration month of the consumer’s credit card.

expiration_year

O

Numeric

2

This is the expiration year of the consumer’s credit card.

first_name

O

Alphanumeric

32

First name of consumer.

last_name

O

Alphanumeric

32

Last name of consumer.

email

O

Alphanumeric

64

E-mail of consumer.

gender

O

Alphanumeric

1

Gender of consumer.

f and m are allowed values.

date_of_birth

O

YYYY-MM-DD

10

Consumer’s date of birth

phone

O

Alphanumeric

32

Consumer’s phone number

street1

O

Alphanumeric

70

Street information part 1 of consumer.

This field is optional, but mandatory if city or country is specified.

street2

O

Alphanumeric

128

Street information part 2

city

O

Alphanumeric

32

City of consumer

This field is optional, but mandatory if street1 or country is specified.

state

O

Alphanumeric

32

State of consumer

country

O

Alphanumeric

3

Country of consumer.

This field is optional, but mandatory if street1 or city is specified

postal_code

O

Alphanumeric

16

Postal code of consumer

entry_mode

O

Alphanumeric

-

This is information about the channel used for this transaction.

Can be one of the following: mail-order, telephone-order, ecommerce, mcommerce or pos.

ip_address

O

Alphanumeric

15

IP address

order_number

O

Alphanumeric

64

Order number

order_detail

O

Alphanumeric

1024

Order detail

descriptor

O

Alphanumeric

100

Description of the transaction. It identifies the transaction.

creditor_id

E

Empty

0

"Provide empty value" for this field by using the construct ,,.

mandate_id

E

Empty

35

"Provide empty value" for this field by using the construct ,,.

mandate_signature_date

E

Empty

0

"Provide empty value" for this field by using the construct ,,.

due_date

E

Empty

0

"Provide empty value" for this field by using the construct ,,.

custom_field_name_1

O

Alphanumeric

36

Name of custom field 1.

custom_field_value_1

O

Alphanumeric

256

Value of custom field 1. In this field the merchant can send additional information.

custom_field_name_2

O

Alphanumeric

36

Name of custom field 2.

custom_field_value_2

O

Alphanumeric

256

Value of custom field 2. In this field the merchant can send additional information.

custom_field_name_3

O

Alphanumeric

36

Name of custom field 3.

custom_field_value_3

O

Alphanumeric

256

Value of custom field 3. In this field the merchant can send additional information.

notification_transaction_state

O

12

Transaction notification state. For datatype please refer to Transaction States.

notification_url

O

Alphanumeric

256

URL for notification

merchant_crm_id

O

Alphanumeric

64

CRM (Customer-Relationship-Management) ID of Merchant

periodic_type

O

Alphanumeric

11

This is information about the periodicity of this transaction.

Can be one of the following: installment, recurring.

sequence_type

E

Empty

10

"Provide empty value" for this field by using the construct ,,. For a sample, please look at the Batch Processing Sample.

For a sample, please look at the Request Sample for Batch Processing.

SEPA Request
Field Cardinality Datatype Size Description

merchant_account_id

M

Alphanumeric

36

Account ID of the merchant.

request_id

M

Alphanumeric

150

Unique request ID for each Transaction (= Merchant Transaction ID).

payment_method_id

M

Alphanumeric

15

Payment method.

Only SEPA DD, SEPA CT and Credit Card are allowed.

transaction_type

M

Alphanumeric

30

Transaction type (direct relationship to payment method).

parent_transaction_id

O

Alphanumeric

36

Transaction ID of authorization or parent transaction, if either transaction is available and should be referred to.

requested_amount

O

Numeric

15

Amount in decimal number. Max length = total number of digits.

The number of digits after the decimal point depends on the currency. 100.000 INR (Indian Rupee) but 100.00 EUR

requested_amount_currency

O

Alphanumeric

3

Currency

Currently only EUR is allowed.

account_number

E

Empty

0

"Provide empty value" for this field by using the construct ,,.

iban

O

Alphanumeric

34

Account holder IBAN.

bic

O

Alphanumeric

11

Account holder BIC (BIC may have 8 or 11 characters).

token_id

E

Empty

0

"Provide empty value" for this field by using the construct ,,.

card_type

E

See Card Types defined in API

0

"Provide empty value" for this field by using the construct ,,.

expiration_month

E

Empty

0

"Provide empty value" for this field by using the construct ,,.

expiration_year

E

Empty

0

"Provide empty value" for this field by using the construct ,,.

first_name

O

Alphanumeric

32

First name of consumer.

last_name

O

Alphanumeric

32

Last name of consumer.

email

O

Alphanumeric

64

E-mail of consumer.

gender

O

Alphanumeric

1

Gender of consumer.

Only f or m are allowed values.

date_of_birth

O

YYYY-MM-DD

10

Consumer’s date of birth.

phone

O

Alphanumeric

32

Consumer’s phone number.

street1

O

Alphanumeric

70

Street information part 1 of consumer. This field is optional, but mandatory if city or country is specified.

street2

O

Alphanumeric

128

Street information part 2.

city

O

Alphanumeric

32

City of consumer. This field is optional, but mandatory if street1 or country is specified.

state

O

Alphanumeric

32

State of consumer.

country

O

Alphanumeric

3

Country of consumer. This field is optional, but mandatory if street1 or city is specified.

postal_code

O

Alphanumeric

16

Postal code of consumer.

entry_mode

E

Alphanumeric

0

"Provide empty value" for this field by using the construct ,,.

ip_address

O

Alphanumeric

15

IP address.

order_number

O

Alphanumeric

64

Order number.

order_detail

O

Alphanumeric

1024

Order detail.

descriptor

O

Alphanumeric

100

Description of the transaction. It identifies the transaction.

creditor_id

O

Alphanumeric

35

Creditor ID.

mandate_id

O

Alphanumeric

35

Mandate ID.

mandate_signature_date

O

YYYY-MM-DD

10

Sign Date of Mandate. Mandate signature date is always today or in the past.

due_date

O

YYYY-MM-DD

10

Due Date of transaction.

Due Date is always in the future.

If this field is left empty, Wirecard will automatically calculate the due date. For more information about 'due date' please refer to Due Date.

custom_field-name_1

O

Alphanumeric

36

Name of custom field 1.

custom_field_value_1

O

Alphanumeric

256

Value of custom field 1. In this field the merchant can send additional information.

custom_field-name_2

O

Alphanumeric

36

Name of custom field 2.

custom_field_value_2

O

Alphanumeric

256

Value of custom field 2. In this field the merchant can send additional information.

custom_field-name_3

O

Alphanumeric

36

Name of custom field 3.

custom_field_value_3

O

Alphanumeric

256

Value of custom field 3. In this field the merchant can send additional information.

notification_transaction_state

O

-

12

Transaction notification state. For datatype please refer to Transactions States.

notification_url

O

Alphanumeric

256

URL for notification

merchant_crm_id

O

Alphanumeric

64

CRM (Customer-Relationship-Management) ID of Merchant

periodic_type

O

Alphanumeric

11

Periodic type - Supported for recurring Direct Debit not for Credit.

Only recurring is allowed. This field is optional, but if this field is defined, sequence_type must also be provided.

sequence_type

C

Alphanumeric

10

Sequence type, if periodic type is set to recurring.

Only first, recurring or final are allowed values.

This field is only required, if periodic_type is defined.

For a sample, please look at the Request Sample for Batch Processing

Response
Response fields are the same for SEPA and Credit Card.
Field Cardinality Datatype Size Description

batch_id

Mandatory

Alphanumeric

36

Batch internal ID for the request.

transaction_id

Mandatory

Alphanumeric

36

The transaction ID represents the end-to-end flow of a transaction and is used to identify transactions within the banking system. It is generated by Wirecard.

request_id

Mandatory

Alphanumeric

150

Unique request ID for each Transaction (= Merchant Transaction ID)

transaction_type

Mandatory

30

Transaction type (direct relationship to payment method); ONLY pending-credit or pending-debit are allowed. Please refer to Transaction States

requested_amount

Mandatory

Numeric

15

Amount in decimal number. Max length = total number of digits.

The number of digits after the decimal point depends on the currency.

Example: 100.000 INR (Indian Rupee) but 100.00 EUR

requested_amount_currency

Mandatory

3

Currency, currently only EUR allowed. Please refer to Currencies

notification_transaction_state

Mandatory

12

Transaction notification state. Please refer to Transaction States

transaction_state

Mandatory

12

Please refer to Transaction States

token_id

Optional

Alphanumeric

N/A

empty value.

status_code

Mandatory

Alphanumeric

N/A

See Transaction Status.

If multiple codes are applicable, a pipe separated list of codes will be supplied.

status_description

Mandatory

N/A

See Transaction Status.

If multiple codes are applicable, a pipe separated list of codes will be supplied.

Example:

"The First Name has not been provided. Please check your input and try again. |The Last Name has not been provided. Please check your input and try again."

completion_time_stamp

Mandatory

N/A

ISO 8601 – combined date and time in UTC. Example: "2014-06-24T09:56:50+00:00"

order_number

Optional

Numeric

64

Order number

For a sample, please look at the Request Sample for Batch Processing

Field Name Mapping

Request Fields Mapping
Name in Batch Processing manual Name in API documentation

merchant_account_id

merchant-account-id

request_id

request-id

payment_method_id

payment-method

transaction_type

transaction-type

parent_transaction_id

parent-transaction-id

requested_amount

requested-amount

requested_amount_currency

requested-currency

account_number

account-number

iban

iban

bic

bic

token_id

token-id

card_type

card-type

expiration_month

expiry-month

expiration_year

expiry-year

first_name

first-name

last_name

last-name

email

email

gender

gender

date_of_birth

date-of-birth

phone

phone

street1

street1

street2

street2

city

city

state

state

country

country

postal_code

postal-code

entry_mode

entry-mode

ip_address

ip-address

order_number

order-number

order_detail

order-detail

descriptor

descriptor

creditor_id

creditor-id

mandate_id

mandate-id

mandate_signature_date

mandate-signature-date

due_date

due-date

custom_field_name_1

field-name (1)

custom_field_value_1

field-value (1)

custom_field_name_2

field-name (2)

custom_field_value_2

field-value (2)

custom_field_name_3

field-name (3)

custom_field_value_3

field-value (3)

notification_transaction_state

transaction-state

notification_url

notification-url

merchant_crm_id

merchant-crm-id

periodic_type

periodic-type

sequence_type

sequence-type

Response Fields Mapping
Name in Batch Processing manual Name in API documentation

batch_id

N/A

transaction_id

transaction-id

request_id

request-id

transaction_type

transaction-type

requested_amount

requested-amount

requested_amount_currency

requested-amount-currency

notification_transaction_state

transaction-state

token_id

token-id

status_code

status-code

status_description

status-description

completion_time_stamp

completion-time-stamp

Sample Request and Response for Batch Processing

SEPA and Credit Card

The following samples contain one SEPA DD recurring first Transaction, one SEPA CT, and one Credit Card transaction:

CSV SEPA DD, SEPA CT and CC Request
merchant_account_id,request_id,payment_method_id,transaction_type,parent_transaction_id,requested_amount,requested_amount_currency,account_number,iban,bic,token_id,card_type,expiration_month,expiration_year,first_name,last_name,email,gender,date_of_birth,phone,street1,street2,city,state,country,postal_code,entry_mode,ip_address,order_number,order_detail,descriptor,creditor_id,mandate_id,mandate_signature_date,due_date,custom_field_name_1,custom_field_value_1,custom_field_name_2,custom_field_value_2,custom_field_name_3,custom_field_value_3,notification_transaction_state,notification_transaction_url,merchant_crm_id,periodic_type,sequence_type
0f3dfbdd-df34-454f-9f2a-6c46e43ce6af,201801021111,sepadirectdebit,pending-debit,,4.44,EUR,,DE42512308000000060004,WIREDEMMXXX,,,,,John,Smith,johnsmith@exampleemail.com,M,,,Example Street 1,,Munich,,DE,80333,,,987654321,test detail,testdescriptor SEPADebit,DE98ZZZ09999999999,12345678,2017-12-12,,,,,,,,,,,recurring,first
0f3dfbdd-df34-454f-9f2a-6c46e43ce6af,201801024567,sepacredit,pending-credit,,5.55,EUR,,DE42512308000000060004,WIREDEMMXXX,,,,,John,Smith,johnsmith@exampleemail.com,M,,,Example Street 1,,Munich,,DE,80333,,,111444777,test detail,testdescriptor SEPACredit,,,,,,,,,,,,,,,
d0b01877-a4e2-4d50-9316-6190d4a008d4,201801020812,creditcard,capture,,3.33,EUR,4012000300001003,,,,visa,11,2019,Jane,Smith,janesmith@exampleemail.com,F,,,Example Street 2,,Munich,,DE,,,,123456789,,testdescriptorCC,,,,,,,,,,,,,,,
CSV SEPA DD, SEPA CT and CC Response
batch_id,transaction_id,request_id,transaction_type,requested_amount,requested_amount_currency,transaction_state,token_id,status_code,status_description,completion_time_stamp,order_number
A0041984A21A11E4BF3E39F7227D0BCB,0f3dfbdd-df34-454f-9f2a-6c46e43ce6af,201801021111,pending-debit,4.44,EUR,success,,201.0000,The resource was successfully created.,2018-01-02T09:39:57+00:00,987654321
A0041984A21A11E4BF3E39F7227D0BCB,0f3dfbdd-df34-454f-9f2a-6c46e43ce6af,201801024567,pending-credit,5.55,EUR,success,,201.0000,The resource was successfully created.,2018-01-02T09:39:57+00:00,111444777
A0041984A21A11E4BF3E39F7227D0BCB,d0b01877-a4e2-4d50-9316-6190d4a008d4,201801020812,capture,3.33,EUR,success,,201.0000,The resource was successfully created.,2018-01-02T09:39:57+00:00",123456789

PGP Encryption

Introduction

Pretty Good Privacy (PGP) is a data encryption and decryption computer program that provides cryptographic privacy and authentication for data communication. PGP encryption uses a serial combination of hashing, data compression, symmetric-key cryptography, and, finally, public-key cryptography; each step uses one of several supported algorithms. Each public key is bound to a user name and/or an e-mail address.

Please refer to https://www.openpgp.org/about/ for more information on PGP.

The PGP encryption and its keys apply for all Batch processes.

Samples
Linux
Create Key
gpg --gen-key
Import Key
gpg --import batch-user.pub
Export Public Key
gpg --armour --export batch-sandbox > /root/batch-sandbox-pub-key.asc
Encrypt File
gpg -e -r "batch-user" batch-request.csv
Decrypt File
gpg -d batch-response.csv.gpg
Windows

Please visit https://www.gpg4win.org/ for client and samples of PGP encryption on Windows.

Public Keys
Public Key Exchange

Since the Public Key Infrastructure (PKI) is used for all message exchanges, it is necessary that public keys are exchanged between platforms prior to integration.

Public Key Exchange
Sandbox Public Key

The sandbox public key is listed below. This public key is used for encryption of the Batch Processing Service request file. You can download the Sandbox Public Key here.

Sandbox Batch API PGP Public Key
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2.0.14 (GNU/Linux)

mQENBFFTazIBCACsu4VCFtb1nEWmhBcG2rCjuprOqdEycm9T+lntqMKK/HmcM4NC
ElY3dEg46ltqnnlRPF+3w0rYNG+h5xwlBR1FgH9aqGQNt7vRBJjtbRmoA1z1NXXV
ztVgvjWsAinEodiueii55MwEQmNoF7v06zsbHcEGiBuuq48vyr5OKRhC0dpckx3P
EawrZ2OSpYpEtPT6hvuE4uikIMe4K/3d2ZmM8TLS8jqnNDEC2+bBWd4SKF3fbqUM
a3SfwXe1UGrfmhcIf5ETXZSfKEsAS+OzOeg2AkzFjYvEcS5dwKVCRL6hYovEWicL
akh2G6f669bywyiZslbZJg5ZHzRSYIdRxkYvABEBAAG0cXNhbmRib3gtYmF0Y2hp
bmctcHVibGljLWtleSAoU2FuZGJveCBiYXRjaGluZyBmaWxlIGVuY3J5cHRpb24g
a2V5KSA8c2FuZGJveC1iYXRjaGluZy1zdXBwb3J0QGVsYXN0aWNwYXltZW50cy5j
b20+iQE+BBMBAgAoBQJRU2syAhsDBQkSzAMABgsJCAcDAgYVCAIJCgsEFgIDAQIe
AQIXgAAKCRDY4NvfKBdE/b56B/9scSMsLEUqKxDr/BKiHtfpr9bEva0MCehVHYgJ
m3uOVPPcF6WZ8LSQa89GYDiZfs6tZpb1KWaiLnOgY0WXiTAQH9oa0zbqUHInV32y
3IZ19N1lBFoJSUztLYI0llnfMRlNFoxtBtA6aRtvXBKci9nc2UVR2I+5vqRlse34
ZGYndvJx6AFCLqgBv25PItJzBz8Hs/2vS6VQ5qWCmI70px2OSGxB7M9X995o+x/I
18RIBtnNaPQSkTvi5/ywhuSCDC11iEbOc8iLrdHRsDYaL0ouqUStIRxCh0Cx0Oy5
kd2uzM2S4mzm0zO7MoNDP2H1Hf7EaksY8uFLzwih798ted2ouQENBFFTazIBCACk
mznaDawkj/srpNbmomG0UXPJSFsZLUP/yyCKUdZCulm+uQhTEV39CTuvENhRfOrQ
C8sDqauikbumQ8rqaeADVfv43YRK2QIXO/oP8aucnE8GneJGW8YCxVVfREzNNJrM
sbQznjiagtUpnLVIFtRLNpwRNt91CzsUB7Uv3kFCj0aAWFyr+v1llNQe+NoNdpW4
qm8Gm1dpHYycImG7sRsAINdXbgSeg5XnIzqzV1vbijG12X2ATq950bPBytTNr8jD
opf+OzPH3lC5mhcX8+8cpokQqJTRKV8ZTQHtaIX7vW4AbKcG7l04SDA2uyLdm9K/
80uJvnI5RKLIGTdkG6yDABEBAAGJASUEGAECAA8FAlFTazICGwwFCRLMAwAACgkQ
2ODb3ygXRP3seQf/Rxxm+ymeXMBSgQ8Zdj7WOveqMVtPvMzbq2tXZp2UT8wO6yhB
J88FzdnPQfTOeJq46HsYpKmja0V3+gYbVXmJkLO8ZT0lYu+euhLVvTDE1RThvCuH
IjLxsTjogeuvtnDbT/s/khu032d131qGs+dHP2LRuyQxJM3Kp1AAoSf4UQzPGZiC
VfgDRrhNAyVGrl8xutoVbCOTtWJbdXbC0piqHuqnGGbshHs9sce7NI++M4K4TxdY
xiWVhF5niJ50evGyCAm47X7uJHk6/EVwSAbAlbAbhkFzweLcu+7uCrfbIln/nGfE
frjJ9jGq5CLZJjc00EtkNB65wacQHxzfq7EU2w==
=MPTt
-----END PGP PUBLIC KEY BLOCK-----
Production Public Key

The production public key will be provided prior to production integration.

Merchant Public Key

The merchant is required to send their public key via email to our Merchant Support. The merchant’s public key is used for encryption of the Batch Processing Service response file.

Custom URL: