Bank Link Technical Description



Similar documents
Bank Link Technical Description

Bank link technical specifications. Information for programmers

AS DNB banka. DNB Link specification (B2B functional description)

This Annex uses the definitions set out in the Agreement on service of payment cards on the Internet (hereinafter the Agreement).

MONETA.Assistant API Reference

E-payment. Service description

QIWI Wallet Pull Payments API

OMA SAVINGS BANK S ONLINE PAYMENT SERVICE

ipayment Gateway API (IPG API)

Paynow 3rd Party Shopping Cart or Link Integration Guide

PaperCut Payment Gateway Module - RBS WorldPay Quick Start Guide

PaperCut Payment Gateway Module PayPal Website Payments Standard Quick Start Guide

Secure Envelope specification

Order Notifications - reporting a payment status

Getting Started Guide

Global Transport Secure ecommerce. Web Service Implementation Guide

SVEA HOSTED SERVICE SPECIFICATION V1.13

SmarterMeasure Inbound Single Sign On (SSO) Version 1.3 Copyright 2010 SmarterServices, LLC / SmarterServices.com PO Box , Deatsville, AL 36022

Online signature API. Terms used in this document. The API in brief. Version 0.20,

Transaction Inquiries

Korean Cyber Payment Services

Hosted Credit Card Forms Implementation Guide

COMMERCIAL-IN-CONFIDENCE

Payment authorization Payment capture Table 1.3 SET Transaction Types

Account Management System Guide

BULLETIN ON PAYMENT SERVICE

Unitel. Payments in EDI/4 format July 2015

D a n s k e B a n k M e s s a g e I m p l e m e n t a t i o n G u i d e. M a s t e r C a r d C o r p o r a t e C a r d T r a n s a c t i o n s

PAY BUTTON USER GUIDE PAY BUTTON USER GUIDE. Version: 1.2

Directions for the AP Invoice Upload Spreadsheet

SSO Eurécia. and external Applications. Purpose

ipay Checkout API (IPC API)

Three Step Redirect API V2.0 Patent Pending

Server-to-Server Credit Card Implementation Guide

Delivery/Return Acknowledgment or 895 Adjustment UCS

Buckaroo Payment Engine 3.0 Implementation Manual HTML gateway

PROCESS TRANSACTION API

TERMS AND CONDITIONS OF PAYMENT ORDER IN FOREIGN EXCHANGE TRANSACTIONS AT PKO BP SA BANK

Specify the location of an HTML control stored in the application repository. See Using the XPath search method, page 2.

Quick Setup Guide. HTML Signatures. A short guide on how to set up HTML Signatures on LetMC s. Last updated 22/11/2012

Hal E-Bank Foreign payments (Format of export/import files)

PLATBA 24 Implementation Manual. Date: December 18, 2014 Version: 1.49

Process Transaction API

1 Proposed model for trademark claims. 2 Details of the proposed model

Doing Business with Serco - A Suppliers Guide

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

Server and Direct Shared Protocols

ANZ egate Virtual Payment Client

BANK LINK USE AGREEMENT NO. Representative:

Deutsche Bank Paper Invoice Submission and Compliance Requirements Manual (PO and Non PO) India Region

ASCII file structure, FORM #044 File TSD.txt Identifier, data record, data lines #044 Form TSD with annexes #0. . Taxpayer's registration number

GP webpay web services Standard WS

Using etoken for Securing s Using Outlook and Outlook Express

MyGate Response Codes. Version 2.1

MERCHANT SERVICE APPLICATION

Introduction...3 Terms in this Document...3 Conditions for Secure Operation...3 Requirements...3 Key Generation Requirements...

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

BZWBK24 Internet. How to access the Bank? Logging on to BZWBK24 Internet: Step-by-step instruction

the disposal of the account holder or authorised user, excluding, however, transactions related to the crediting of deposit interest.

How to Order and Install Odette Certificates. Odette CA Help File and User Manual

Shopping Cart Interface Version 1.03

Displaying SSL Certificate and Key Pair Information

Corporate Access File Transfer Service Description Version /05/2015

Paytrail Oyj! Channel interface API! Channel model! Channel model description! Interface description!

Creating Codes with Spreadsheet Upload

Dues & Billing. Dues & Billing. I. Dues and Billing Overview. Welcome to Dues and Billing!

FILE FORMAT OF PAYMENT ORDERS ACCEPTED BY CITIBANK EUROPE PLC FOR CITIBUSINESS DIRECT INTERNET BANKING

LiteCommerce Authorize.Net Module. Version 2.4

.NET Standard DateTime Format Strings

Cryptography and Network Security

Netswipe Processing Implementation

HireDesk API V1.0 Developer s Guide

Java SFA merchant integration guide

KM client format supported by KB valid from 26 March 2007

AliPay International Services

Web Services Credit Card Errors A Troubleshooter

MySagePay. User Manual. Page 1 of 48

HOW TO... Use Auto Invoicing in OA Payroll

Implementation guide - Interface with the payment gateway PayZen 2.5

INTEGRATION PROCEDURES AND SPECIFICATIONS

How to Order and Install Odette Certificates. Odette CA Help File and User Manual

Bank and SecurePay Response Codes

Corporate Online. Import format for Payment Processing Service files

End-User Reference Guide

HMRC Secure Electronic Transfer (SET)

BUSINESS ONLINE BANKING CASH MANAGEMENT USER GUIDE

Payment Page Extensions. Online Payment Processing for Businesses Worldwide.

Introduction to Programming and Computing for Scientists

Microsoft Dynamics GP. SmartList Builder User s Guide With Excel Report Builder

POP BANK S ONLINE PAYMENT SERVICE

Accounts Payable. Vendors and Vouchers

Regulation on Bank Account Standard Numbering System

Virtual Payment Client Integration Reference. April 2009 Software version:

Guide. 1 Dec Introduction of the global Structured Creditor Reference in Finnish companies. 1 December 2010

How to Use Certificates for Additional Security

Transcription:

Bank Link Technical Description QUERIES 2 Queries from the merchant to the bank 2 Queries from the bank to the merchant 2 FINDING THE VK_MAC CONTROL CODE 3 QUERY SPECIFICATIONS 4 Query "1001 4 Query "1002 4 Query "1101 5 Query "1901 5 Query 4001 6 Query "3002 6 Query 4002 7 Query "3003 7 CALCULATION OF SERVICE CHARGE 7 EXCHANGE OF PUBLIC KEYS 8 1

Queries Queries are HTTP GET or POST queries with specified parameters. Each query contains a service number. Each service has a unique list of parameters and its own algorithm for handling the query. By content, the service number is the algorithm number of query handling. All parameters whose field names do not begin with VK_ must be ignored. Parameters that are requested by the service but are missing, are counted as empty fields. In the amount parameters dot. Is used as decimal separator. Thousands separator is not used. Dates are presented in the format "DD.MM.YYYY," e.g. 17.02.2001 The time is indicated in the format "hh24:min:sec," e.g. 17:02:59 The length of the value of the parameter must not exceed that which is prescribed in the specifications. Upon exceeding the length, a query is not processed. The values of parameters can be shorter than the permitted maximum length. Missing places are not filled in. The spaces at the beginning and at the end of the value of a parameter are removed. An error message is sent in reply to queries that do not match the specifications and are invalid. Operations to be performed on the basis of a query are carried out pursuant to the general requirements of the service (requirements of payment orders, etc.). Merchant specifies the query encoding using VK_ENCODING parameter, supported encodings are UTF-8 and ISO-8859-1. Bank always replies using the encoding specified by merchant. If encoding is not explicitly specified, ISO-8859-1 is used by default. Queries can be divided into merchant or bank queries according to their originator. Queries can be divided into those that require a reply and that do not require a reply. According to the purpose, queries are divided as follows: 1xxx initiation of transactions 3xxx identification queries Queries from the merchant to the bank Queries from the merchant to the bank are meant for the direction and/or assistance of the customer in the performance of an operation, e.g. a payment order. Each query corresponds to one service. The presented parameters are verified according to the service. The list of parameters of a query and the order depends on the service used. The bank replies to the queries that require a reply after having completed the customer's operation. As a rule, a reply contains the details of the operation and a notice about whether it was successful. Queries from the merchant to the bank are directed to the URL: https://www.swedbank.ee/banklink Queries from the bank to the merchant As a rule, queries from the bank to the merchant are replies to the previous queries of the merchant. At the same time the client may initiate a query from the Bank to a merchant by entering the merchant's page through the E-services page on the Internet bank. 2

Finding the VK_MAC control code Verification of the electronic signature used in queries, VK_MAC, takes place on the basis of the agreed algorithm VK_VERSION. Only version 008 is currently used. VK_MAC is given as the query s parameter value in the BASE64 encoding. Version 008 The value of the MAC008 function is calculated using the public key algorithm RSA. Values of empty fields are taken into account as well 000. MAC008(x 1,x 2,,x n ) := RSA( SHA-1(p(x 1 ) x 1 p(x 2 ) x 2 p( x n ) x n ),d,n) Where: is an operation of adding the string x 1, x 2,, x n are the query parameters p is a function of the parameter length. The length is a number in the form of a three-digit string d is the RSA secret exponent n is the RSA modulus The signature is calculated in accordance with the PKCS1 standard (RFC 2437). Example Let us take a query with the following parameters: VK_SERVICE= 1002 VK_VERSION= 008 VK_SND_ID= TRADER VK_STAMP= 1234567890 VK_AMOUNT= 1.99 VK_CURR= LVL VK_REF= 01012001-001 VK_MSG= Payment for a good XXXXXX The signature is calculated from the following data row which comprises the following elements (the number of the symbols of the parameter values and the value of the parameter itself): 0041002" 003008 006TRADER 0101234567890 0041.99 003LVL 01201012001-001 025Payment for a good XXXXXX in one row: 0041002003008006TRADER01012345678900041.99003LVL01201012001-001025Payment for a good XXXXXX 3

or if the VK_MSG parameter is empty, the result: 0041002003008006TRADER01012345678900041.99003LVL01201012001-001000 Query specifications NB! A URL with parameters cannot be used in the VK_RETURN field. Query "1001" The merchant sends to the Bank the details of a signed payment order which the client cannot change on the Internet bank. After a successful payment the query 1001 is made for the merchant and, in the case of a failed payment, the query 1901. 1 VK_SERVICE 4 Service number (1001) 3 VK_SND_ID 10 ID of the author of the query (merchant's ID) 4 VK_STAMP 20 Query ID 5 VK_AMOUNT 17 Amount payable 6 VK_CURR 3 Name of the currency in the ISO 4217 format (EEK/EUR, etc.) 7 VK_ACC 16 Recipient s invoice number 8 VK_NAME 70 Recipient s name 9 VK_REF 20 Payment order reference number 10 VK_MSG 300 Description of payment order - VK_RETURN 60 URL where the transaction response query is sent (1101, 1901) Query 1002 The merchant sends to the Bank the details of a signed payment order which the client cannot change on the Internet bank. After a successful payment the query 1101 is made for the merchant, in the case of a failed payment the 1901 package. The details of the recipient are taken from a bank link agreement. 1 VK_SERVICE 4 Service number (1002) 3 VK_SND_ID 10 ID of the author of the query (merchant's ID) 4 VK_STAMP 20 Query ID 5 VK_AMOUNT 17 Amount payable 6 VK_CURR 3 Name of the currency in the ISO 4217 format (EEK/EUR, etc.) 7 VK_REF 20 Payment order reference number 4

8 VK_MSG 300 Description of payment order - VK_RETURN 60 URL where the transaction response query is sent (1101, 1901) Query 1101 Used for replying about the execution of a domestic payment order. No. Field Length Description 1 VK_SERVICE 4 Service number (1101) 3 VK_SND_ID 10 ID of the author of the query (Bank's ID) 4 VK_REC_ID 10 ID of the author of the query (merchant's ID) 5 VK_STAMP 20 Query ID 6 VK_T_NO 5 Payment order number 7 VK_AMOUNT 17 Amount paid 8 VK_CURR 3 Name of the currency in the ISO 4217 format (EEK/EUR, etc.) 9 VK_REC_ACC 16 Recipient s invoice number 10 VK_REC_NAME 30 Recipient s name 11 VK_SND_ACC 16 Remitter's account number 12 VK_SND_NAME 40 Remitter's name 13 VK_REF 20 Payment order reference number 14 VK_MSG 300 Description of payment order 15 VK_T_DATE 10 Payment order date - VK_AUTO 1 Y= reply automatically sent by the Bank. N= reply by moving the customer to the merchant s page. Query 1901 Used for notifying of a failed transaction. 1 VK_SERVICE 4 Service number (1901) 3 VK_SND_ID 10 ID of the author of the query (Bank's ID) 4 VK_REC_ID 10 ID of the author of the query (merchant's ID) 5 VK_STAMP 20 Query ID 6 VK_REF 20 Payment order reference number 5

7 VK_MSG 300 Description of payment order - VK_AUTO 1 N=reply by moving the customer to the merchant s page. Query 4001 A package sent by the merchant for identification of the user. The service is available to merchants who have entered into a respective agreement. 1 VK_SERVICE 4 Service number (4001) 3 VK_SND_ID 10 ID of the author of the query (Merchant ID) 4 VK_REPLY 4 Code of the expected reply package (3002) 5 VK_RETURN 60 Merchant s URL where to reply 6 VK_DATE 10 Query generation date 7 VK_TIME 8 Query generation time Query 3002 The user s identifier and the date and time of generation of the package are sent to the merchant. The VK_INFO field contains name-value pairs separate by a semi-colon, e.g. "NAME:value". For instance, "PERSON:37508166516;NAME:JOHN DOE". 1 VK_SERVICE 4 Service number (3002) 3 VK_USER 16 Agreed user identifier 4 VK_DATE 10 Query generation date 5 VK_TIME 8 Query generation time 6 VK_SND_ID 10 ID of the author of the query (Bank's ID) 7 VK_INFO 300 Field containing the personal data of the user 6

Query "4002" A package sent by the merchant for identification of the user. The service is available to merchants who have entered into a respective agreement. Response query is 3003. Jrk Välja nimi Pikkus Kirjeldus 1 VK_SERVICE 4 Service number (4002) 3 VK_SND_ID 10 ID of the author of the query (Merchant ID) 4 VK_REC_ID 10 ID of the receiver of the query (Bank ID HP ) 5 VK_NONCE 50 Unique security code generated by query author 6 VK_RETURN 150 Merchant s URL where to reply - VK_MAC 700 Control code or signature Query "3003" The user s identifier and the date and time of generation of the package are sent to the merchant. The VK_INFO field contains name-value pairs separate by a semi-colon, e.g. "NAME:value". For instance, "PERSON:37508166516;NAME:JOHN DOE". For security reasons merchant should compare the VK_NONCE parameters. Jrk Välja nimi Pikkus Kirjeldus 1 VK_SERVICE 4 Service number (3003) 3 VK_SND_ID 10 ID of the author of the query (Bank ID HP ) 4 VK_REC_ID 10 ID of the receiver of the query (Merchant ID) 5 VK_NONCE 50 A copy of the VK_NONCE from the 4002 query 6 VK_INFO 300 Field containing the personal data of the user - VK_MAC 700 Control code or signature Calculation of service charge The bank link service resembles a virtual POS terminal. It is without charge for customers and with charge for the merchant, pursuant to the terms and conditions set out in the agreement. The service fee is calculated once a month for the ended period. The service fee is automatically charged and a summary file is sent to the merchant on the operation, indicating payments made in the given period, the service charge debited for them and the account number from which the service charge is debited. This file is sent to the merchant through Swedbank s corporate customer bank program a few days before the actual debiting of the service fee. The merchant can make certain that there is enough money on the given account. The summary file is in the simple ASCII format separated by tabulators. It can be read using any editor or spreadsheet programme or uploaded to a database. 7

The format for the summary file is the following: INVOICE TO THE SHOP: <TAB> <Shop-ID> <TAB> DATE: <TAB> DD.MM.YYYY K-ACCOUNT <TAB> K-REFERENCE <TAB> P-REFERENCE <TAB> DATE <TAB> S-ACCOUNT <TAB> M-ACCOUNT <TAB> AMOUNT <TAB> CURRENCY <shop account number> <TAB> <shop reference number> <TAB> <bank reference number> <TAB> <payment date> <TAB> <recipient account number> <TAB> <remitter account number> <TAB> <payment amount> <TAB> <currency code> SERVICE FEE: <TAB> <service fee amount> <TAB> <service fee currency code> <TAB> FROM ACCOUNT: <TAB> <service fee account number> The summary file is sent to the merchant through Swedbank s corporate customer bank program interface. In order to send the file the merchant must specify their Swedbank corporate customer user name and installation feature (if they have several branches and want to obtain different information in different branches) of the bank program in the agreement. Exchange of public keys Public keys are exchanged upon entry into the agreement. We use PEM keys/certificates corresponding to the X.509 standard. 8