Batch Processing. Specification. Version 4.1. 110.0087 SIX Payment Services



Similar documents
Merchant Plug-In. Specification. Version SIX Payment Services

Authorization Interface

Authorization Interface

Secure Card Data. Specification. Version SIX Payment Services

CyberSource Payer Authentication

Elavon Payment Gateway Hosted Payment Page

Fraud Detection Module (basic)

Fraud Detection. Configuration Guide for the Fraud Detection Module v epdq 2014, All rights reserved.

Direct Post. Integration Guide

Product information. E-payment solution Saferpay

Server-to-Server Credit Card Implementation Guide

RealAuth Hosted Payment Page

DalPay Internet Billing. Technical Integration Overview

DalPay Internet Billing. Checkout Integration Guide Recurring Billing

COMMERCIAL-IN-CONFIDENCE

NAB TRANSACT. XML API Integration Guide

Hosted Credit Card Forms Implementation Guide

Saferpay Implementation Guide

PROCESS TRANSACTION API

Process Transaction API

SENTRY Payment Gateway

RealControl. User Guide. Version: v3.3

itransact Gateway Fast Start Guide

MasterCard In tern et Gatew ay Service (MIGS)

Payment Page. Specification. Version SIX Payment Services

ipayment Gateway API (IPG API)

Credomatic Integration Resources. Browser Redirect API Documentation June 2007

Payment Express Ecommerce PX Pay Interface

Instructions for merchants

Payment Express Hosted PX Pay 2.0 Integration Guide. Version 2.0

Virtual Payment Client Integration Reference. April 2009 Software version:

Bank and SecurePay Response Codes

Direct Payment Protocol Errors A Troubleshooter

Virtual Terminal & Online Portal

Web Services Credit Card Errors A Troubleshooter

Elavon Payment Gateway- Reporting User Guide

Mail & Telephone Order Payments Service (WorldAccess) Guide. Version 4.3 February 2014 Business Gateway

RealAuth. Developers Guide. Version: 4.9

Web Services Credit Card Errors A Troubleshooter

Netswipe Processing Implementation

en (pf.ch/dok.pf) PF. Manual e-payment PostFinance Ltd Payment Service Providing

Secure XML API Integration Guide - Periodic and Triggered add in

PAYLINE USER GUIDE LOGGING INTO PAYLINE PROCESSING A PURCHASE

PayWay. API Developer's Guide

Merchant One Payment Systems Integration Resources. Direct Post API Documentation June 2007

Internet Payment Gateway

Title Page. payplace.express giropay Connection for traders and integrators

Response Code Details

Implementation guide Web Services V4. Version 1.4b

How To Integrate Your Website Into The First Data Internet Payment Gateway (Emea) With A Credit Card And A Creditcard (First Data) (Emma) (Firstdata) (Uk) (European) (For A Credit Union

UPG plc Atlas Technical Integration Guide

API Integration Payment21 Button

ROAMpay powered by ROAM

Risk Management Service Guide. Version 4.2 August 2013 Business Gateway

MySagePay. User Manual. Page 1 of 48

Recurring Credit Card Billing

Network Merchants Inc (NMI) Integration Resources. Direct Post API Documentation April 2010

Setting Up a CyberSource Web Payment Account

Gateway Direct Post API

An access number, dialed by a modem, that lets a computer communicate with an Internet Service Provider (ISP) or some other service provider.

Internetkasse. Title Page. Sparkassen-Internetkasse Connection for traders and integrators

Three Step Redirect API V2.0 Patent Pending

*ROAMpay powered by ROAM

Recurring Payments Manual

Elavon Payment Gateway - Redirect Integration Guide

My Sage Pay User Manual

MiGS Virtual Payment Client Integration Guide. July 2011 Software version: MR 27

PayWithIt for Android Devices User Guide Version 1.0.0

Web Services Credit Card Errors A Troubleshooter

Credit Card Handling Security Standards

DIRECT INTEGRATION GUIDE DIRECT INTEGRATION GUIDE. Version: 9.16

Secure XML API Integration Guide. (with FraudGuard add in)

Card-Present Transactions Implementation Guide Version 1.0

Payment Cardholder Data Handling Procedures (required to accept any credit card payments)

Merchant account application form

Payment Processor Errors A Troubleshooter

Steps for staying PCI DSS compliant Visa Account Information Security Guide October 2009

Plastic Card Claims Automation Specifications Document

Server and Direct Shared Protocols

iyzico one-off payment and installment easy payment integration

Virtual Terminal Solution

Skipjack ezpay Secure Online Order Form User Guide

Pensio Payment Gateway Merchant API Integration Guide

ANZ egate Virtual Payment Client

Global Iris Integration Guide ecommerce Remote Integration

Credit Card Processing Overview

PLACE GROUP UK LONDON STUDENT HOUSING GROUP PAYMENT CARD INDUSTRY DATA SECURITY STANDARD COMPLIANCE STATEMENT PCI DSS (09) VERSION: 2009PCIDSSP4S01

PayDollar PayGate. Integration Guide (For third party shopping cart platform v1.0)

API For Chopstickpay Merchants Configuration: Server-to-server Version: 3.4 Status: Published

A MERCHANTS GUIDE TO THE PAYMENT APPLICATION DATA SECURITY STANDARD (PA-DSS)

Getting Started. Quick Reference Guide for Payment Processing

The e-commerce solution

Volume PLANETAUTHORIZE PAYMENT GATEWAY. vtiger CRM Payment Module. User Guide

DalPay Internet Billing. Virtual Terminal User Guide

Realex Payments. Magento Community / Enterprise Plugin. Configuration Guide. Version: 1.1

Version 15.3 (October 2009)

Transcription:

Batch Processing Specification Version 4.1 110.0087 SIX Payment Services

Contents 1 Introduction... 3 1.1 Requirements... 3 1.2 Security and PCI DSS... 3 1.3 Other Information... 4 1.4 Supported Payment Means... 4 1.5 Format Information... 4 2 Conventions... 5 2.1 File Names... 5 2.2 CustomerID... 5 2.3 File Identifier (FileID)... 5 2.4 File Transfer... 5 2.5 Input File Format... 6 3 Input File... 7 3.1 Parameters and Descriptions... 7 3.2 Parameter Description... 9 3.2.1 TERMINALID... 9 3.2.2 ORDERID... 9 3.2.3 PAN... 9 3.2.4 DOCREDIT... 9 3.2.5 TIMEDATE... 9 3.2.6 Card Security Number... 10 3.2.7 3-D Secure Parameters ECI, XID, CAVV... 10 3.2.8 Recurring... 10 3.2.9 MANDATEID... 10 3.2.10 IBAN... 10 3.3 Example for payment record sets... 11 3.4 Identifying Duplicate Entries... 11 4 Output file... 12 4.1 Processed Record Set... 12 4.2 Incorrect entry in the output file... 13 4.3 RESULT values... 14 4.4 Sample output file... 14 4.5 Output file if Batch Processing is processed automatically... 15 5 Automation... 16 5.1 Upload... 16 5.2 Download... 16 6 Examples... 17 6.1 Upload via HTML Form... 17 6.2 Download via HTML Form... 17 6.3 Upload via Visual Basic Script... 18 6.4 Download via Visual Basic Script... 19 7 Contact... 20 7.1 Saferpay Integration Team... 20 7.2 Saferpay Support Team... 20 Saferpay Batch Processing Page 2

1 Introduction This document describes the Saferpay Batch Processing, a service allowing the processing of credit card and German electronic direct debit (ELV) payments via a batch file. 1.1 Requirements The following conditions must be fulfilled to use the batch processing: A corresponding license and with that an existing Saferpay account with login and password At least one active Saferpay terminal via which payments can be processed. The corresponding TERMINALID respectively the ACCOUNTID must be available. The format of the Data Set and the name of the input file must correspond to the format described in this document 1.2 Security and PCI DSS Although the Saferpay system meets the PCI DSS (Payment Card Industry Data Security Standard) requirements and is inspected regularly to verify compliance, you are encouraged to apply the following rules when using Saferpay Batch Processing. When using Saferpay Batch Processing, credit card data is entered in the input file and uploaded from your system to Saferpay. You should ensure that you comply with the security requirements of your card-accepting bank (acquirer) concerning the handling of credit card data. We recommend you use the Saferpay Secure Card Data Service in combination with Saferpay Batch Processing in order to significantly reduce the expense for the PCI DSS review of the merchant system. This service allows you to process transmit and store the credit card data directly in the secure Saferpay computer centre and no longer on the merchant system. For more information, please contact the Saferpay technical support team or customer service department. Processing of the card security number (also called CVC2, CVV2, CID or 4DBC) is optional. Please note, that according to PCI DSS regulation, the card security number is part of the confidential card data that may only be stored temporarily. Due to PCI DSS regulation the processing of magnetic stripe data is no longer possible via Batch Processing. If you have any questions regarding PCI DSS, please contact your acquirer or a qualified security provider (see https://www.pcisecuritystandards.org). Saferpay Batch Processing Page 3

1.3 Other Information Please note the following points: Uploaded files are processed within one day (24 hours) for the card companies. The Saferpay Batch Processing is designed for not time critical payments and not for online authorizations in real time or seconds. For time critical authorizations we recommend the use of the Saferpay Client API. In order to ensure a smooth processing we recommend to process not more than 500 transactions per file. Since acquires reject non-authorized transactions all transactions are authorized in a first step before being transmitted for further processing. 1.4 Supported Payment Means The Saferpay Batch Processing currently allows the processing of transactions for the following payment means: Visa MasterCard American Express Diners Club J.C.B. ELV electronic direct debit (Germany only) 1.5 Format Information The following abbreviations for format information are used in this document: a letters (a - z, A - Z) n numeric characters (0-9) an alphanumeric characters (a - z, A - Z, 0-9) s special characters (:?,-(+.)/ and space) ans alphanumeric and special characters Saferpay Batch Processing Page 4

2 Conventions 2.1 File Names The name of the file to be processed starts with the Saferpay CustomerID followed by a dash and the unique file identifier and ends with the file extension.in. Syntax: CustomerID-FileID.IN 2.2 CustomerID Die CustomerID currently consists of 5 or 6 digits. This could change in the future. 2.3 File Identifier (FileID) The File identifier has to be unique and is defined as follows: length: variable 1-40 characters permitted characters: 0-9, A-Z, a-z, - (dash), _ (underscore) no distinction is made between uppercase and lowercase Examples (FileID in italics): 12001-1.IN 12001-002.IN 12001-abcd5523.IN 12001-CA4DD53A-C1BB-4378-A7EB-4AB7AA6729D9.IN 2.4 File Transfer The files are transferred between the sender and the Saferpay system via a secure SSL connection (https) from the Saferpay Backoffice. An email address can be stored to get a message when the file processing is finished. Saferpay Batch Processing Page 5

2.5 Input File Format The information required for uploading is saved in a text file. The following rules are to be respected in this context: Parameters are separated by a comma (ASCII 0x44) each line must terminate with a line separator CR or CRLF Incorrectly formatted lines are rejected with the error code ICCTERR in the output file. It is the responsibility of the sender to correct the format and resubmit the file. Saferpay Batch Processing Page 6

3 Input File 3.1 Parameters and Descriptions If not marked as Optional all parameters are mandatory. Position Parameter Format Description 1 RECORDTYPE an[7] File record type, must always be ICCT100 2 TERMINALID n[8] Saferpay Terminal ID to be used for the transaction. The Terminal ID is assigned by the Saferpay system and is part of the Saferpay Account ID 3 ORDERID an[..30] Optional Sender s reference number. Processing-specific restrictions exist (see 3.2.2) 4 PAN ans [..50] Optional The card number (primary account number), see separate format description (3.2.3) for use of the card reference number via the Secure Card Data service. Cannot used together with IBAN. For card reference number: CARDREFID:nnnn 5 EXPMONTH n[..2] Optional, if CARDREFID is set Card expiry month. {1, 2,., 12} or {01, 02,., 12} 6 EXPYEAR n[2] or n[4] Optional, if CARDREFID is set Card expiry year. {00, 01,.., 11} oder {2000, 2001,.., 2011} 7 CARDDATA a[1] Optional A = Card was read by a reader (card number only is read) M = Card number was entered manually 8 AMOUNT n[..12] Amount in the smallest currency unit. Only digits (integer) and no decimal points (12,95 1295) are allowed. 9 CURRENCY a[3] Currency in ISO 4217 code. (EUR, CHF, USD,...) 10 AUTHCODE an[..50] Reserved Field Authorization code: no longer required since now all transactions are authorized. 11 DOCREDIT n[1] 0 = Debit (amount is charged to the cardholder) 1 = Credit (amount is refunded to the cardholder refund not possible for german direct debit) 12 DOAUTHOR n[1] Carry out authorization; Since all transactions are authorized first before being entered the value must always be 1. Saferpay Batch Processing Page 7

Position Parameter Format Beschreibung 13 TIMEDATE n[12] n[14] 14 CVC n[3] or n[4] Optional 1 Date and time of booking with format YYYYMMDDhhmm or YYYYMMDDhhmmss. If the seconds (ss) are not entered, Batch Processing sets ss = 00. TIMEDATE is only evaluated internally by Batch Processing 3- or 4-digit card security number, also known as: CID/4DBC (American Express) CVC (MasterCard) CVV2 (Visa) CAV (JCB) 15 ECI n[1] Optional Electronic Commerce Indicator Required to identify 3-D Secure transactions ( Verified by Visa, MasterCard SecureCode, American Express SafeKey ): 0 = Internet payment without liability shift 1 = 3-D Secure payment with authentication 16 CAVV ans[28] Optional 17 XID ans[28] Optional 18 RECURRING a[1] Optional 19 REFID ans[28] Optional 20 MANDATEID ans[..35] Optional 21 IBAN an[22] Optional 2 = 3-D Secure payment, card does not participate in the procedure Authentication code for 3-D Secure transaction, as supplied by Merchant Plug In (MPI) ID for 3-D Secure transaction, as supplied by Merchant Plug In (MPI) Tagging for recurring transactions. Possible value is R to tag the transaction as recurring, e.g. for subscription. Transaction identifier ID of the initial payment for recurring payments. Mandate reference for German direct debit (ELV) payments. IBAN for German direct debit (ELV) payments. Cannot used together with PAN. 1 The acquirer may require the presence of a card security number Saferpay Batch Processing Page 8

3.2 Parameter Description 3.2.1 TERMINALID The Saferpay TERMINALID represents a Saferpay terminal. You will find the Saferpay TERMINALID in the Saferpay Backoffice under Administration Accounts. A Saferpay ACCOUNTID consists of the customer ID, dash (-) and TERMINALID; e.g. 99867-94913159, where 99867 is the customer ID and 94913159 the TERMINALID. 3.2.2 ORDERID The order ID serves to identify payments in order to enable the merchant to assign the transactions to the correct orders at a later time. The ORDERID is forwarded to the card processor (merchant bank) and is generally listed in the merchants settlement note. Only numbers (ASCII 0x30...0x39), uppercase letters (0x41...0x5A), lowercase letters (0x61...0x7A) and - and _ (0x2D and 0x5F) are accepted. Correct processing cannot be guaranteed if other characters are transmitted. The maximum number of digits varies from processor to processor. In most cases 12 digits has proven to be a good value. 3.2.3 PAN This field contains the card number, bank details or other identification number for a payment request. Credit card: For credit cards, the manually entered card number must be stated. The card expiry date is to be transmitted with the fields EXPMONTH and EXPYEAR. If a card reference number (CARDREFID) is to be processed, the text CARDREFID: (complete with colon) must precede the card reference number. Examples: Data Visa credit card 4000 1234 5678 9012 Card reference number = 680023981 Value of PAN 4000123456789012 CARDREFID:680023981 3.2.4 DOCREDIT Specifies whether the customer is to be debited (= 0 for booking) or credited (= 1 for refund). Refunds are only possible for credit card transactions. 3.2.5 TIMEDATE This field contains the time of booking in the format YYYYMMDDhhmmss (14 digits), where YYYY = {2000,, 2999} MM = {01, 02,, 12} DD = {01, 02,, 31} hh = {00, 01,, 24} mm = {00, 01,, 59} ss = {00, 01,., 59} Alternatively the format YYYYMMDDhhmm with 12 digits is also valid and can be used. Internally the Batch Processing then sets the seconds as ss = 00. Saferpay Batch Processing Page 9

3.2.6 Card Security Number According to the rules of the credit card organizations, the card security number (CVC, CVV2, CID, 4DBC) is to be kept strictly confidential. You are advised to always respect this concerning security requirements. For more information please contact your acquirer. 3.2.7 3-D Secure Parameters ECI, XID, CAVV In Accordance with your acquirer it might be possible to process 3-D Secure payments via the Saferpay Batch Processing. Such payments are only possible with cards which have previously had successful ecommerce transactions processed in the merchant s webshop. In addition to the card data the 3-D Secure parameters ECI, XID and CAVV of the previous payment are required. 3.2.8 Recurring With these fields transactions can be tagged with value R as recurring payments. The consecutive payment additionally references to the transaction identifier (ID) of the initial payment by using parameter REFID. Please contact your acquirer for information if recurring transactions must be tagged or not 3.2.9 MANDATEID This field contains the SEPA mandate reference of a German direct debit (ELV) payment.. 3.2.10 IBAN This field contains the International Bank Account Number. Saferpay Batch Processing Page 10

3.3 Example for payment record sets ICCT100,94913159,TEST1,9451123100000004,12,15,M,1000,EUR,,0,1,20120202165533 ICCT100,94913159,TEST2,9451123100000004,12,15,M,550,EUR,,0,1,20120202165534,442 ICCT100,94913159,TEST3,9451123100000004,12,15,M,105.00,EUR,,0,1,201202021655 ICCT100,94913159,TEST4,4000000000000002,12,2015,M,1050,EUR,,1,1,201202021656 ICCT100,94913159,TEST5,5232000000000017,12,2015,M,1120,EUR,,0,1,201202021500,,1,AA ABCEkCYQABA314UQJhAAAAAAA=,DmZAXgVCNWAOAQN3AwAFWgN9CQM= ICCT100,94913159,TEST6,375811111111115,12,10,M,1000,EUR,,0,1,201202021656 ICCT100,94913159,TEST7,CARDREFID:1234567890,02,15,M,670,EUR,,0,1,201202021658 ICCT100,94913159,TEST8,,,M,1009,EUR,,0,1,201202021659,,,,,,MyMandateID,DE779700000 10123456789 Explanation: Line 1: Authorization and booking. Line 2: Authorization, booking, card data with card security number. Line 3: Incorrect, the amount must be entered without a decimal point. Line 4: Credit (refund to cardholder). Line 5: MasterCard SecureCode payment with ECI=1, CAVV and XID. Line 6: Incorrect, card already expired. Line 7: Booking, card reference number (CARDREFID) is used. Line 8: Booking, payment by direct debit. 3.4 Identifying Duplicate Entries The Batch Processing checks the transactions for duplicate entries. If an input transaction has the same values for TERMINALID, ORDERID, PAN, EXPMONTH, EXPYEAR, AMOUNT, CURRENCY, DOCREDIT and TIMEDATE as an already processed transaction, it is identified as a duplicate and returned with the following error text: Double Transaction - Transaction in LineNumber x has already been processed. To ensure that transactions are distinct at least within one field, TIMEDATE may optionally be stated down to the second (14 digits, the year always has four digits). If no seconds are stated, File Import sets the seconds to 00. TIMEDATE is only used internally by the batch import. It is recommended to assure the distinctness of transactions via the use of a unique timestamp for each transaction. 110.0087 SIX Payment Services

4 Output file For each file uploaded the sender receives an output file with the same file name as the input file but suffixed with the file ID.OUT Every data record is checked for format correctness. If the format check succeeds the record is processed and the.out file entry will contain RECORDTYPE ICCT101. If the check fails the corresponding entry will contain RECORDTYPE ICCTERR. 4.1 Processed Record Set For each processed record set of the input file (ICCT100) the output file contains a corresponding response record set (ICCT101) with result and transaction identifier. Position Parameter Format Description 1 RECORDTYPE an[7] Always contains the value ICCT101. 2 TERMINALID n[8] Saferpay terminal ID of the transaction. 3 ORDERID an[..30] Optional Sender reference number if stated in the input file. 4 RESULT n[3] = 0 Transaction successful. 0 Error code. 5 ID ans[50] Transaction ID in Saferpay: 6 AUTHCODE an[..50] Optional currently limited to max. 50 characters. Authorization code of the processor. 7 TIMEDATE n[12] Date and time of authorization with format YYYYMMDDhhmm 8 AUTHRESULT n[2] Optional 9 MANDATEID ans[..35] Optional Processor reply code; only returned if RESULT contains the value 65. The reply codes may have different meanings, depending on the processor. Mandate reference for German direct debit (ELV) payments.. Saferpay Batch Processing Page 12

4.2 Incorrect entry in the output file If a data record in the input file fails the format verification check, the output file contains an ICCTERR message in the corresponding line of the output file. Position Parameter Format Description 1 RECORDTYPE an[7] Always contains the value ICCTERR. 2 TERMINALID n[8] Saferpay Terminal ID of the transaction. 3 ORDERID an[..30] Optional Sender reference number if stated in the input file. 4 TIMEDATE n[12] Timestamp of the format check. Format: YYYYMMDDhhmm 5 FIELDINDEX n[2] Position of the incorrect field in the record of the input file. 6 FIELDNAME a[ ] Name of the incorrect field in the record of the input file. 7 MESSAGE ans[ ] Optional Additional description. Sample error entries: ICCTERR,1445001,test11,201102021612,1,RecordType,Double Transaction - Transaction in LineNumber 1 has already processed ICCTERR,1445001,test12,201102021612,13,TimeDate,DateTime length is wrong: 0 ICCTERR,14450001,test13,201102021612,8,Amount,Amount is not numeric 105.00 ICCTERR,14450001,test14,201102021612,2,TerminalID,User has no access for TerminalId:1445001 ICCTERR,14450001,test15,201102021612,5,ExpMonth,ExpMonth is out of range ICCTERR,14450001,test16,201102021612,6,ExpYear,Card is expired:1204 ICCTERR,14450001,test17,201102021612,4,CardNumber,7004 - No CardNumber found for this CardRefId. ICCTERR,14450001,test18,201102021612,13,TimeDate,DateTime length is wrong: 13 Saferpay Batch Processing Page 13

4.3 RESULT values A transaction has only been processed successfully when RESULT=0 is returned. Any different return value for RESULT indicates an error. Value Message Description 61 Invalid card The card is invalid (plausibility check). 62 Invalid date The expiry date is invalid. 63 Card expired The card has expired; Is no longer valid. 64 Unknown card The card is unknown; the card could not be assigned to a card type. 65 Authorization declined The card processor has rejected the transaction. The AUTHRESULT field contains processor-specific details explaining the reasons. 67 No contract available There is no active contract for the concerned payment mean or currency for the terminal. 83 Invalid currency Invalid currency code. 84 Invalid amount The amount is invalid. 104 PAN blacklist Card is blacklisted by Saferpay Risk Management. 105 Card country not white listed Card issuer country is not included in the Saferpay Risk Management white list. 114 CVC mandatory The card security number must be entered 4.4 Sample output file ICCT101,94913159,TEST1,0,6bf9e707a9e64938b7e4612b2bcb,074869,201102030852 ICCT101,94913159,TEST2,0,9bd5f26175a14cd1bd839dc81fa3,862777,201102030852 ICCTERR,94913159,TEST3,201102030852,8,Amount,Amount is not numeric: 105.00 ICCT101,94913159,TEST4,0,682dab8de6614ae4bb15d83e94bc,,201102030852 ICCT101,94913159,TEST5,0,12d693de415f425a919ba4aea4f3,124865,201102030852 ICCTERR,94913159,TEST6,201102030852,6,ExpYear,Card is expired: 1204 ICCT101,94913159,TEST7,0,96c0fe28e09d40b3b98248a4ac54,395000,201102030852 ICCT101,94913159,TEST8,67,74301cbe-87ca-4e3c-aeb0-3223c9f69210,,201102030852 Explanation: Line 1: Authorization and booking, successfully processed and stored. Line 2: Authorization and booking, successfully processed and stored. Line 3: Transaction rejected by Batch Processing, with error code. Line 4: Refund (credit), successfully processed. Line 5: Transaction with reference number, successfully processed. Line 6: Transaction rejected by Batch Processing, with error code. Line 7: Authorization and booking with use of CARDREFID, successful. Line 8: Request rejected, reply code 67 (no contract available). Saferpay Batch Processing Page 14

4.5 Output file if Batch Processing is processed automatically If Batch Processing is processed automatically via upload or download (cf. chapter 3) an additional result line appears at the end of the output file. In case of successful processing the result line looks like: ResultCode: 200 OK If the access is not granted because of an invalid user name the message ResultCode = 401 Unauthorized is returned: 110.0087 SIX Payment Services

5 Automation File Import can be automated via the Saferpay website. Uploading and downloading are SSL encrypted with https. For the automated use of the Saferpay Batch Processing a login and password are required. According to the PCI DSS security regulations the upload and download files must be transmitted by POST. The GET method is not permitted! 5.1 Upload The file to be uploaded must be sent to the following Saferpay URL: https://www.saferpay.com/bo/fileimport/scriptupload The login data is transferred within hidden fields using the parameters spusername, sppassword and UAFState and CustomerID. Name Wert spusername contains the user ID, e.g. e99867001. sppassword UAFState contains the password associated with the user ID must always contain the value login CustomerID contains the customerid, e.g. 99867 5.2 Download Output files can be downloaded from the following Saferpay URL: https://www.saferpay.com/bo/fileimport/scriptdownload The login data is transferred within hidden fields using the parameters spusername, sppassword and UAFState and CustomerID. The filename is transmitted with the parameter Sequence. Name Wert spusername contains the user ID, e.g. e99867001. sppassword UAFState contains the password associated with the user ID. must always contain the value login CustomerID contains the customerid, e.g. 99867. Sequence contains the filename Saferpay Batch Processing Page 16

6 Examples 6.1 Upload via HTML Form <html> <head><title>upload Example for Saferpay File Import</title></head> <body> <h2>upload Example for Saferpay File Import</h2> <form enctype="multipart/form-data" action="https://www.saferpay.com/bo/fileimport/scriptupload" method="post"> <input type="hidden" name="spusername" value="xxxxxxxxx"> <input type="hidden" name="sppassword" value="xxxxxxxxx"> <input type="hidden" name="uafstate" value="login"> <input type="hidden" name="customerid" value="xxxxxxxxx"> <h3><p>select file to upload:<br> <input type="file" size="50"</p></h3> <input type="submit" value="file Import"> </form> </body> </html> 6.2 Download via HTML Form <html> <head><title>download Example for Saferpay File Import</title></head> <body> <h2>download Example for Saferpay File Import</h2> <form enctype="multipart/form-data" action="https://www.saferpay.com/bo/fileimport/scriptdownload" method="post"> <input type="hidden" name="spusername" value="xxxxxxxxx"> <input type="hidden" name="sppassword" value="xxxxxxxxx"> <input type="hidden" name="customerid" value="xxxxxxxxx"> <h3><p>file name:<br> <input type="text" length="30" name="sequence" value=""></p></h3> <input type="hidden" name="uafstate" value="login"> <input type="submit" value="download"> </form> </body> </html> Saferpay Batch Processing Page 17

6.3 Upload via Visual Basic Script 'Upload of file File = "xxxxxx" :Username = "xxxxxx" : Password = "xxxxxx" : CustomerID _ = "xxxxxx" : UAFState = "login" 'read file data Set fs = WScript.CreateObject("Scripting.FileSystemObject") Set rd = fs.opentextfile(file) : Content = "" do while rd.atendofstream <> true: Content = Content & rd.readline &_ vbcrlf : loop rd.close 'URL to Server URL = "https://www.saferpay.com/bo/fileimport/scriptupload" 'needed for file upload Boundary = "-----------------------------xahbfgehj65jk7" ScriptBoundary = "--" & Boundary Set http = WScript.CreateObject("Microsoft.XMLHTTP") http.open "POST", URL, false http.setrequestheader "Content-Type", "multipart/form-data; boundary=" &_ Boundary 'send file content within boundary PostFieldsBody = ScriptBoundary & vbcrlf &_ "Content-Disposition: form-data; name=""spusername"""& vbcrlf &_ vbcrlf & Username & vbcrlf & ScriptBoundary & vbcrlf &_ "Content-Disposition: form-data; name=""sppassword"""& vbcrlf &_ vbcrlf & Password & vbcrlf & ScriptBoundary & vbcrlf &_ "Content-Disposition: form-data; name=""customerid"""& vbcrlf &_ vbcrlf & CustomerID & vbcrlf & ScriptBoundary & vbcrlf &_ "Content-Disposition: form-data; name=""uafstate"""& vbcrlf &_ vbcrlf & UAFState & vbcrlf & ScriptBoundary PostFileBody = vbcrlf & _ "Content-Disposition: form-data; name=""f1""; filename=""" & File &_ """" & vbcrlf & "Content-Type: text/plain" & vbcrlf & vbcrlf & _ Content & ScriptBoundary & "--" & vbcrlf http.send PostFieldsBody & PostFileBody 'wait until http received all data do while http.readystate <> 4 : DoEvents : loop 'clean objects Set rd = nothing Set fs = nothing Set http = nothing Saferpay Batch Processing Page 18

6.4 Download via Visual Basic Script 'download of file number FileNr = "xxxxxx" : Path = "xxxxxx" : Username = "xxxxxx" : Password =_ "xxxxxx" : CustomerID = "xxxxxx" : UAFState = "login" 'prepare url for download incl. login URL = "https://www.saferpay.com/bo/fileimport/scriptdownload" 'download file content Boundary = "-----------------------------xahbfgehj65jk7" ScriptBoundary = "--" & Boundary Set http = WScript.CreateObject("Microsoft.XMLHTTP") http.open "POST", URL, false http.setrequestheader "Content-Type", "multipart/form-data; boundary=" &_ Boundary 'send file content within boundary PostFieldsBody = ScriptBoundary & vbcrlf &_ "Content-Disposition: form-data; name=""spusername"""& vbcrlf &_ vbcrlf & Username & vbcrlf & ScriptBoundary & vbcrlf &_ "Content-Disposition: form-data; name=""sppassword"""& vbcrlf &_ vbcrlf & Password & vbcrlf & ScriptBoundary & vbcrlf &_ "Content-Disposition: form-data; name=""customerid"""& vbcrlf &_ vbcrlf & CustomerID & vbcrlf & ScriptBoundary & vbcrlf &_ "Content-Disposition: form-data; name=""uafstate"""& vbcrlf & vbcrlf &_ UAFState & vbcrlf & ScriptBoundary & vbcrlf &_ "Content-Disposition: form-data; name=""sequence"""& vbcrlf & vbcrlf &_ FileNr & vbcrlf & ScriptBoundary & vbcrlf &_ "Content-Disposition: form-data; name=""path"""& vbcrlf & vbcrlf &_ Path & vbcrlf & ScriptBoundary http.send PostFieldsBody 'wait until http received all data do while http.readystate <> 4: DoEvents: loop 'write content to file Set fs = WScript.CreateObject("Scripting.FileSystemObject") Set wr = fs.createtextfile(path & CustomerID & "-" & FileNr &".out") wr.write http.responsetext wr.close 'clean objects Set wr = nothing Set fs = nothing Set http = nothing Saferpay Batch Processing Page 19

7 Contact 7.1 Saferpay Integration Team Do you have questions about this document or problems with the integration of Saferpay or do you need assistance? Then please contact our integration team: Saferpay Switzerland SIX Payment Services AG Hardturmstrasse 201 8021 Zürich +41 848 66 44 44 www.six-payment-services.com/saferpay integration.saferpay@six-payment-services.com Saferpay Europe SIX Payment Services (Germany) GmbH Langenhorner Chaussee 92-94 22415 Hamburg +49 40 325 967-280 www.six-payment-services.com/saferpay integration.saferpay@six-payment-services.com 7.2 Saferpay Support Team Do you have questions about error messages or do you encounter problems with your running system? Then please contact our support team: Saferpay Switzerland SIX Payment Services AG Hardturmstrasse 201 8021 Zürich +41 848 66 44 44 www.six-payment-services.com/saferpay support.saferpay@six-payment-services.comsupport.saferpay@six-payment-services.com Saferpay Europe SIX Payment Services (Germany) GmbH Langenhorner Chaussee 92-94 22415 Hamburg +49 40 325 967-250 www.six-payment-services.com/saferpay support.saferpay@six-payment-services.comsupport.saferpay@six-payment-services.com The Saferpay team wishes you every success with your Saferpay e-payment solution! Saferpay Batch Processing Page 20