Přeskočit na hlavní obsah

Technický popis Premium SMS bez platební brány

Nevíte, jak na integraci platební metody Premium SMS bez platební brány? Podívejte se na postup.

💡 Tip GoPay:
Pokud máte zájem o Premium SMS bez platební brány, kontaktujte svého obchodního správce nebo obchodní oddělení na e-mailu [email protected].

Postup aktivace Premium SMS bez platební brány

Nejprve je nutné na GoPay nahlásit klíčové slovo, které je následně registrováno u operátora, dále cenovou hladinu Premium SMS a text SMS zprávy. Po registraci klíčového slova je možno zahájit technickou integraci dle uvedené dokumentace.

Ukázka textu SMS zprávy:
Vas kod pro ziskani sluzby​ je: xxxxx. Kod uplatnite na portalech spolecnosti xxxxxx. Platba xx Kc pres GoPay.

💡 Tip GoPay: Text SMS může nabývat délky maximálně 128 znaků.


Platební schéma popisuje platbu prostřednictvím Premium SMS tzv. variantou bez platební brány. Je určeno obchodníkům, kteří chtějí zpřístupnit službu zákazníkům na základě odeslané SMS ze strany uživatele tak, aby uživatel v platebním procesu nemusel potvrzovat platbu na straně platebního systému GoPay. Výsledkem takové komunikace je přístupový kód, který uživatel obdrží na svůj mobilní telefon a zadá jej na straně prodejního místa. Následně je mu zpřístupněna služba nebo zboží.

Schéma procesu platby Premium SMS bez platební brány

schema-nogw-sms-jk.png

Platba je inicializována ze strany zákazníka prodejního místa, který dle instrukcí pošle kód v určitém tvaru (JK16) na uvedené telefonní číslo (90211). Následuje založení platby na straně GoPay a vytvoření identifkátoru platby (PSID = 785) V prvotní komunikaci je prodejní místo informováno o vytvoření platby z určitého telefonního čísla (+420 777 777 777) s daným kódem (JK16), částkou (16), měnou (CZK) a identifikátorem platby (PSID = 785). Na základě předchozí komunikace obchodník vygeneruje přístupový kód a reklamní text, který odešle zpět na stranu GoPay. GoPay pak zákazníkovi odesílá MT PR SMS, která obsahuje částku a měnu (16 CZK), kterou zákazník zaplatí, přístupový kód (7c8b) pro využití zaplaceného zboží nebo služeb a tělo reklamního textu (zkrácené do max přípustné délky SMS 128 znaků). Po obdržení automatické doručenky ze strany zákazníka do platebního systému GoPay dojde k odeslání notifikace o změně stavu platby. Prodejní místo se následně zeptá na stav platby a dle odpovědi poskytne zákazníkovi dané zboží či službu.


​

Stav platby (paymentStatus)

typ: JSON, request

Jako výsledek vytvoření platby je ze systému GoPay odeslán komunikační objekt Stav platby (paymentStatus), který obsahuje identifikaci platby a parametry. Tento objekt je obecný a obsahuje několik parametrů, které nejsou pro tento typ platby důležité (jsou označeny šedou barvou) a není je potřeba jakkoliv zpracovávat.

Název parametru

Popis parametru

Povinný

Příklad

paymentSessionId

Identifikace platby v systému GoPay.

ANO

785

parentPaymentSessionId

Identifikace rodičovské platby. Používáno pro opakované platby.

NE

-

targetGoId

Identifikace prodejního místa/GoPay uživatele v rámci GoPay. Celočíselný identifikátor definován během integrace prodejního místa.

ANO

1234567890

productName

Popis zboží/služby.

ANO

platba jk

orderNumber

Identifikace objednávky v rámci prodejního místa. Alfanumerické označení objednávky, max 128 znaků.

ANO

JK 16

totalPrice

Cena zboží/služby v haléřích. Celočíselné vyjádření ceny. Předaný při založení platby.

ANO

1600

currency

Určuje měnu platby. Formát měny odpovídá ISO 4217.

ANO

CZK

sessionState

Stav platby

ANO

PAYMENT_METHOD_CHOSEN

sessionSubState

Doplňující stav platby - kódy reprezentují specifické situace: 101 - k úhradě vybrána online platební metoda
102 - k úhradě vybrána offline platební metoda
Zákazník obdržel informační e-mail s instrukcemi pro provedení platby.

NE

101

sessionSubStateDesc

Textový popis doplňující informace.

NE

-

result

CALL_COMPLETED - volání WS proběhlo bezchybně

ANO

CALL_COMPLETED

resultDescription

Popis chybové situace při CALL_FAILED

NE

-

preAuthorization

Informuje, zda byla platba založena jako předautorizovaná platba.

NE

-

recurrentPayment

​Informuje, zda byla platba založena jako opakovaná.

NE

-

paymentChannel

Určuje platební metodu, kterou zákazník vybral pro úhradu platby.

NE

vždy eu_pr_sms

encryptedSignature

Podpis platebního příkazu. Sestavení řetězce pro podpis, viz níže.

ANO

3d1dd5663487a04f1419929d965238d5973e4728b85ea6c4b5779e438a289437bccbc34e32c0f62d8409f3930765285e

p1

Telefonní číslo zákazníka

ANO

+420777777777

p2-p4

Volitelné parametry

NE

-

Řetězec pro podpis

Šifrovaný podpis je sestaven z vlastností stavu platby. Podpis je šifrován tajným klíčem označeným jako secureKey, který je předáván v rámci integrace prodejního místa.

Řetězec pro sestavení podpisu

targetGoId+'|'+productName+'|'+totalPrice+'|'+currency+'|'+orderNumber+'|'+recurrentPayment+'|'+parentPaymentSessionId+'|'+preAuthorization+'|'+result+'|'+sessionState+'|'+sessionSubState+'|'+paymentChannel+'|'+secureKey

{ "paymentSessionId": 785, "sessionState": "PAYMENT_METHOD_CHOSEN", "sessionSubState": "101", "productName": "platba jk", "targetGoId": 1234567890, "orderNumber": "JK16", "totalPrice": 1600, "currency": "CZK", "paymentChannel": "eu_pr_sms", "result": "CALL_COMPLETED", "resultDescription": "", "encryptedSignature": "3d1dd5663487a04f1419929d965238d5973e4728b85ea6c4b5779e438a289437bccbc34e32c0f62d8409f3930765285e"}


​

Odpověď na notifikaci (notifyResult)

typ:JSON, response

Tento komunikační objekt se předává zpět na stranu GoPay po vytvoření přístupového kódu a reklamního textu pro danou platbu. Objekt nabývá následujících parametrů.

Název parametru

Popis parametru

Povinný

Příklad

paymentSessionId

Identifikace platby v systému GoPay. Celé číslo

ANO

785

status

Stav platby. Nabývá hodnot OK nebo NOK

ANO

OK

p1

Přístupový kód

ANO

7c8b

p2

Volitelný parametr

NE

-

p3

Volitelný parametr

NE

-

p4

Reklamní text bez diakritiky.

ANO

Nakupujte s JK Shop.

encryptedSignature

Podpis komunikačního elementu. Sestavení podpisu viz sestavení řetězce pro podpis níže.

ANO

09aad1ee4226e96dca490e308fb2a75b39bbb80516f8cf62f0ff5ddee36ae287b21d6f2dd44b298409f3930765285e

Řetězec pro podpis

Šifrovaný podpis je sestaven z vlastností stavu platby. Podpis je šifrován tajným klíčem označeným jako secureKey, který je předán v rámci integrace prodejního místa.

Řetězec pro sestavení podpisu

paymentSessionId+"|"+status+"|"+p1+"|"+p2+"|"+p3+"|"+p4+"|"+secureKey

{ "paymentSessionId": 785, "status": "OK", "p1": "7c8b", "p4": "Nakupujte s JK Shop.", "encryptedSignature": "09aad1ee4226e96dca490e308fb2a75b39bb806516f8cf62f01ff5ddeee36ae287b21d6f2dd44b298409f3930765285e"}

Oznámení o změně stavu platby probíhá stejným způsobem jako u standardní integrace.

Níže je uveden příklad skriptu v PHP, který přijme požadavek na založení platby a vrátí přístupový kód. Jedná se pouze o část kódu demonstrující komunikaci, bez jakéhokoli přístupu do databáze, nebo dynamického generování kódu.

<?php require_once("config.php"); // soucasti GoPay PHP api 2.5 require_once('gopay_helper.php'); // soucasti GoPay PHP api 2.5 $json = file_get_contents('php://input'); $obj = json_decode($json); if (!$fd) { echo "Error! Couldn't open the file."; } else { $p1 = "TEST P1"; $p4 = "TEST P4"; $status = "OK"; $signature = GopayHelper::encrypt(GopayHelper::hash($obj->{"paymentSessionId"}."|".$status."|".$p1."|||".$p4."|".SECURE_KEY), SECURE_KEY); $res = '{"paymentSessionId":'.$obj->{"paymentSessionId"}.',"status":"'.$status.'","p1":"'.$p1.'","p4":"'.$p4.'","encryptedSignature":"'.$signature.'"}'; echo $res; }?>


​

Jednotlivé kroky integrace premium SMS bez platební brány

Po komunikaci s obchodním oddělením a registraci klíčového slova a cenové hladiny je nás třeba kontaktovat na [email protected].

Zašlete nám prosím adresu Vámi vytvořeného skriptu (podle popisu výše), který se bude starat o přijetí požadavku na založení platby.

Adresu skriptu zaneseme do systému a její nastavení Vám potvrdíme. Poté již můžete přistoupit k testování.
​
Virtuální SMS můžete odeslat z našeho simulačního terminálu.

Jako číslo operátora vyplňte 90211 a jako text SMS zprávy zadejte Vaše klíčové slovo.


Během několika minut bude Váš skript kontaktován s požadavkem na potvrzení platby. Jakmile bude platba potvrzena a obdržíme od Vás přístupový kód, změní se stav platby na PAID, a na Váš notifikační skript bude odeslána automatická http notifikace. Po notifikaci se dotážete na stav platby. Pokud bude platba ve stavu PAID, tak je možné přístupový kód aktivovat.

Dostali jste odpověď na svou otázku?