ProxyPay
3/M
INTEGRACE DO SYSTÉMU OBCHODNÍHO PARTNERA
VERZE
AUTOR
ZMĚNY
DATUM
2.9
Richard Švec, Petr Štefko, Tomáš Novotný, Zbyšek Strnad
30.3.2006
3.0
David Maleček, Jakub Špiroch
22.4.2009
3.1
Jakub Špiroch
17.8.2009
3.2
Ing. Radovan Bryx, Tomáš Žák
9.11.2011 » Registrované platby (kap. 5) » Rejection POST (kap. 4.5)
3.3
Ing. Radovan Bryx, Tomáš Žák
» Zjišťování stavu transakce (kap. 7.2)
13.6.2012
» Proměnná „brand“ nepovinná (kap 4.2) » Změna max. délky certifikátu (Příloha B) 3.3.3
Ing. Radovan Bryx
4.0
Ing. Radovan Bryx
» Nové jazyky platební brány (kap. 4.2)
9.10.2013
» Texty pro internetové stránky(příloha C) » Oprava chyb
9.4.2014
» Grafické úpravy (celý dokument) » Doplnění odpovědí v XML (kap. 4.4) 4.1.
Ing. Radovan Bryx
» Změna podporovaných portů (kap.8)
3.10.2014
» Nová pole OrderID1 a OrderID2 (kap.2) 4.2. Ing. Radovan Bryx, Tomáš Žák
» Nová funkce OneClickPayments (kap.5)
e-commerce – Integrace do systému obchodního partnera
20.10.2014
2
OBSAH 1.
JAK PROBÍHÁ IMPLEMENTACE .................................................... 6
2.
INTEGRACE DO VAŠEHO SYSTÉMU ........................................... 7
2.1.
JAK PROBÍHÁ TRANSAKCE ................................................................................................... 7
2.2.
JAK INICIOVAT PLATBU? (NEW PAYMENT POST) ............................................................ 10
2.3.
VALIDATION POST (POVINNÉ) ............................................................................................ 14
2.4 CONFIRMATION POST (POVINNÉ) ........................................................................................... 17 2.5 REJECTION POST (POVINNÉ) .................................................................................................. 20
3.
REGISTROVANÉ PLATBY (VOLITELNÉ) ..................................... 23
4.
XML INTERFACE (VOLITELNÉ) ................................................... 25
4.1 PRINCIP XML ROZHRANÍ .......................................................................................................... 25 4.2 SPECIFIKACE XML ZPRÁVY ..................................................................................................... 26 4.3 XML DOTAZ (XML REQUEST) ................................................................................................... 26 4.3.1. Příklad: SaleRequest (pouze pro MO/TO transakce) .......................................................... 29 4.3.2.
Příklad: AuthorisationRequest (pouze pro MO/TO transakce) ........................................ 30
4.3.3.
Příklad: CaptureRequest ................................................................................................. 30
4.3.4.
Příklad: CancelRequest ................................................................................................... 31
4.3.5.
Příklad: RefundRequest ................................................................................................... 31
4.3.6.
Příklad: TransactionStatusRequest ................................................................................. 32
4.3.7.
Příklad: LastTransactionsRequest ................................................................................... 32
4.3.8.
Příklad: Pozastavení recurring transakce ........................................................................ 33
4.3.9.
Příklad: Obnovení recurring transakce ............................................................................ 33
4.3.10.
Příklad: Zrušení recurring transakce ............................................................................ 33
4.4 XML ODPOVĚĎ (XML RESPONSE) ........................................................................................... 34 4.4.1.
Příklad SaleResponse – neúspěšná transakce ............................................................... 37
4.4.2.
Příklad AuthorisationResponse – úspěšná předautorizace ............................................. 37
4.4.3.
Příklad TransactionStatusResponse ............................................................................... 37
4.4.4.
Příklad LastTransactionsResponse ................................................................................. 38
4.4.5.
Příklad RecurringOperationResponse – úspěšná akce................................................... 39
4.4.6.
Příklad ErrorMessage – nesprávné přihlašovací údaje ................................................... 39
4.5 SEZNAM MOŽNÝCH STAVŮ TRANSAKCE............................................................................... 39 4.6 ČÍSLOVÁNÍ SUBREFERENCE ................................................................................................... 40
5.
ONE CLICK PAYMENTS (OCP) - VOLITELNÉ ............................. 42
5.1.
PRVNÍ TRANSAKCE .............................................................................................................. 42
5.2.
DALŠÍ TRANSAKCE ............................................................................................................... 43
5.3.
NASTAVENÍ ZABEZPEČENÍ PRO OCP ................................................................................ 44
5.4.
CHYBOVÉ HLÁŠKY OCP....................................................................................................... 45
e-commerce – Integrace do systému obchodního partnera
3
5.5.
6.
DALŠÍ XML DOTAZY PRO OCP ............................................................................................ 45
EMAILOVÉ ŠABLONY (VOLITELNÉ)............................................ 47
6.1 EMAIL PRO OBCHODNÍHO PARTNERA ................................................................................... 47 6.2 EMAIL PRO DRŽITELE KARTY .................................................................................................. 48
7.
MERCHANT BACKOFFICE .......................................................... 51
8.
ZABEZPEČENÍ.............................................................................. 52
8.1
PREVENCE PROTI CROSS-SITE SCRIPTING .................................................................... 52
8.2 PREVENCE PROTI SQL INJECTION ......................................................................................... 52
9.
NEJČASTĚJŠÍ DOTAZY ............................................................... 54
Příloha A – povolené znaky pro proměnnou cardholderID ............................................................... 56 Příloha B - podporované certifikáty ................................................................................................... 58 Příloha C – Text určený pro web obchodního partnera .................................................................... 59 Příloha D – Informace pro registraci ................................................................................................. 61
e-commerce – Integrace do systému obchodního partnera
4
ÚVODEM Vítáme Vás v implementační příručce, která má za cíl poskytnout Vám všechny potřebné informace integraci Vašeho e-shopu do systému e-commerce České spořitelny a.s. Popisuje potřebné úkony pro úspěšné zavedení a otestování on-line platby kartou na e-shopu a vysvětluje, jakým způsobem funguje komunikace mezi e-shopem a platebním systémem ČS. Řešení je určeno pro přijímání a zpracování on-line transakcí z internetového nebo mobilního obchodního systému. Je kladen důraz na jednoduchou integraci, platformovou nezávislost, možnost implementace pomocí libovolného skriptovacího jazyka a využití libovolného webového serveru a databáze. K výměně dat slouží zabezpečený HTTPS protokol. Pro správu provedených transakcí slouží obchodnímu partnerovi rozhraní Merchant Back Office umožňující přístup uživatelů ve třech úrovních oprávnění (viz kapitola 7).
TIP: ZAPAMATUJTE SI DŮLEŽITÉ NÁZVY ProxyPay
Název pro systém platební brány České spořitelny
Merchant BackOffice
Webové prostředí pro přehled a správu transakcí
e-commerce – Integrace do systému obchodního partnera
5
1. JAK PROBÍHÁ IMPLEMENTACE Proces implementace (od zaslání potřebných formulářů a smluvních podkladů obchodnímu zástupci ČS do spuštění ostrého provozu) lze v ideálním případě stihnout za jeden týden, pokud je na straně obchodního partnera všechno připraveno podle pokynů v této příručce. Integrace e-shopu obchodního partnera do systému e-commerce ČS běžně probíhá v následujících krocích:
Od obchodního zástupce při podpisu smlouvy o přijímání karet obdržíte registrační formulář, který vyplníte a předáte zpět
Informace z formuláře jsou zadány do systémů ČS a pro daný e-shop je vytvořena virtuální provozovna s unikátním obchodnickým číslem označovaným jako „MerchantID“
Podpora e-commerce v ČS Vám zašle na e-mailové adresy uvedené v registračním formuláři potřebné podklady pro otestování propojení e-shopu s platební bránou (virtuální testovací karty, MerchantID, přihlašovací údaje do rozhraní Merchant Back Office) Po obdržení testovacích podkladů začnete se samotnými testy, tj. s vytvářením testovacích nákupů a transakcí. Během testování je Vám k dispozici podpora e-commerce, která zodpoví případné dotazy a pomůže Vám vyřešit případné problémy s funkčností plateb
Po dokončení testování a kontrole funkčnosti ze strany ČS přejdou obě strany do ostrého provozu, platební bránu poté můžete zpřístupnit svým klientům
e-commerce – Integrace do systému obchodního partnera
6
2. INTEGRACE DO VAŠEHO SYSTÉMU Integrace propojení mezi Vaším systémem a platební bránu není třeba považovat za velmi složitou akci, která by si vyžádala velké náklady a úsilí. Samozřejmě je třeba připomenout, že náročnost závisí na „hloubce implementace“ do Vašich systémů. Implementace je jistě odlišná mezi základním e-shopem a velkou korporací, která využívá rozsáhlé vnitrofiremní systémy. Aby bylo zřejmé, jako komunikace mezi Vámi a platební bránou probíhá, v první podkapitole si vysvětlíme, jak taková transakce vzniká.
TIP: CO BUDETE POTŘEBOVAT
HTTPS
INFO
CERTIFIKÁT
První krok integrace s platební bránou je zajištění SSL certifikátu pro Vaše stránky. V příloze tohoto dokumentu naleznete podporované formáty. Certifikát nemusí být podepsaný certifikační autoritou, takže může být „self-signed“. Myslete ovšem na to, že pokud nemáte ověřený certifikát, některé prohlížeče mohou klientovi po zaplacení zobrazit upozornění o přechodu na nedůvěryhodné stránky.
POTŘEBNÉ ÚDAJE
V příloze D najdete informace, které od Vás budeme potřebovat před zahájením implementace.
2.1. JAK PROBÍHÁ TRANSAKCE Tato kapitola vysvětluje, jakým způsobem probíhá on-line transakce a specifikuje komunikaci mezi systémem ProxyPay a Vaším e-shopem. Obsahuje i přehled a stručný popis proměnných, které se během komunikace předávají. Následující postup stručně ukazuje, jakým způsobem probíhá komunikace mezi prohlížečem držitele karty, Vaším systémem a platební bránou ČS. KROK
Klient si na Vašich stránkách vybere zboží/službu a jako způsob platby zvolí platbu kartou on-line.
KROK
e-commerce – Integrace do systému obchodního partnera
Váš systém odešle metodou POST formulář s informacemi o platbě a objednávce na adresu systému ProxyPay
7
KROK
ProxyPay provede kontrolu údajů a uloží je, načež je odešle zpět na Vaši Validation URL. Validation skript zkontroluje, zda přijaté údaje souhlasí s těmi, které původně odeslal. Pokud ano, odpoví HTML řetězcem: [OK]
X
KROK
Pokud se podařilo načíst [OK] odpověď od validation skriptu, ProxyPay odešle do prohlížeče držitele karty stránku s popisem objednávky a s požadavkem na vložení údajů o kartě (číslo, expirace, CVV). Držitel karty vyplní tyto údaje a potvrdí odeslání. ProxyPay využije údaje o kartě k autorizaci platby. Pokud načítání odpovědi validation skriptu z nějakého důvodu selhalo nebo skript vygeneroval jinou odpověď než [OK], ProxyPay přeskočí na krok 7
KROK
Po úspěšném dokončení autorizace transakce odešle ProxyPay metodou POST souhrnné údaje o objednávce na Vaši Confirmation URL. Confirmation skript opět zkontroluje, zda přijaté údaje souhlasí s těmi, které původně odeslal. Pokud ano, odpoví HTML řetězcem: [OK]
X Pokud se podařilo načíst [OK] odpověď od confirmation skriptu, ProxyPay odešle do prohlížeče držitele karty stránku, která jej přesměruje na Vaši stránku OK URL. Pokud je povoleno zasílání oznamovacích e-mailů, Vám a držiteli karty je zaslán e-mail potvrzující úspěšné dokončení platby. KROK
Pokud načítání odpovědi confirmation skriptu z nějakého důvodu selhalo nebo skript vygeneroval jinou odpověď než [OK], ProxyPay přeskočí na krok 7. Timeout odpovědi je 15 sekund. Pokud v této lhůtě není obdržena odpověď, ProxyPay opakuje znovu bod 6 se stejným timeoutem. Pokud ani tentokráte není obdržena odpověď, ProxyPay tuto transakci automaticky reverzuje (zruší) a přeskočí na krok 7.
e-commerce – Integrace do systému obchodního partnera
8
Pokud v kterémkoliv bodě při zpracování transakce dojde k chybě, ProxyPay odešle Rejection POST na Vaši Rejection URL.
KROK
Zároveň odešle do prohlížeče držitele karty stránku, která jej přesměruje na Vaši NOK URL.
Platba je v ProxyPay úspěšně dokončena v okamžiku, kdy ProxyPay přijme [OK] odpověď od confirmation skriptu. Může nastat případ, kdy Vaše odpověď nedorazí do ČS (dojde ke ztrátě zprávy během přenosu) nebo odpověď skriptu nemá správnou podobu. Jako dodatečný kontrolní mechanismus lze implementovat XML Interface a dotázat se po zaplacení na stav dané transakce.
TIP: DOPORUČUJEME IMPLEMENTOVAT XML
XML INTERFACE
Přes XML rozhraní se můžete systému ProxyPay dotázat na stav jakékoliv transakce. XML User tak pro Vás může být dodatečným kontrolním mechanismem, který například minutu po provedení transakce zjistí její finální stav.
e-commerce – Integrace do systému obchodního partnera
9
2.2.
JAK INICIOVAT PLATBU? (NEW PAYMENT POST)
Nyní již víme, jak transakce probíhá. Jak tedy iniciovat platbu? Na Vaší stránce „Shop URL“ (označované také jako referrer), kde bude docházet k inicializaci platby, je třeba naimplementovat kód, který zajistí odeslání informací o platbě metodou HTTP POST na adresu platební brány systému ProxyPay https://3dsecure.csas.cz/transaction. Tento požadavek na vytvoření platby se jinak nazývá také New Payment POST.
Jak New Payment POST vypadá: