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 podnikej@gopay.cz. 

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 zinicializová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íla 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 demonstrujicí 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 integrace@gopay.cz.

Zašlete nám  prosím adresu Vámi vytvořené 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.

SMS terminál
https://partner.sandbox.gopay.com/gp-gateways/premiumsms/initSmsAuto.action

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 tak se změní 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.

Pomohl Vám tento článek?:

Nenašli jste co hledáte?

Kontaktujte pracovníka podpory