-
Notifications
You must be signed in to change notification settings - Fork 1
Metody pro platbu Skip Pay
ℹ️ Z mallpay se od 6.10.2022 stalo Skip Pay. Kromě názvu zůstává vše beze změny. V eAPI části zde na wiki a v kódu API je však stále použito jako mallpay (názvy operací a parametry). Metody pro platbu mallpay (resp. Skip Pay) jsou i nadále plně funkční.
Platební metoda Skip Pay používá API metody mallpay/init
pro založení platby na bráně a mallpay/logistics
pro předání stavu doručování zásilky na platební bránu. Zrušení platby lze provést pomocí metody mallpay/cancel
, částečnou nebo úplnou vratku částky transakce lze provést pomocí metody mallpay/refund
. Pro zjištění stavu platby slouží obecná API funkce payment/status
.
Zpracování Skip Pay platby probíhá na platební bráně Skip Pay, tj. zákazník je z e-shopu přesměrován na Skip Pay. Parametry pro přesměrování jsou výsledkem volání mallpay/init
. Pokud Skip Pay zákazníka již zná a ví, že pro konkrétní nákup není platba Skip Pay možná, bude volání mallpay/init
zamítnuto, zákazník není obtěžován přesměrováním na Skip Pay bránu a obchodník může nabídnout alternativní způsoby platby.
Metoda | Popis |
---|---|
mallpay/init | Založení Odložené platby na platební bráně pro mallpay@shop. |
mallpay/logistics | Pomocí této operace obchodník předá údaje o doručení nebo odeslání zboží zákazníkovi, případně údaje o zrušených položkách objednávky. |
mallpay/cancel | Pomocí této operace může obchodník zrušit Odloženou platbu. |
mallpay/refund | Provedení vratky u Skip Pay platby. |
- Při zakládání platby (
mallpay/init
) je nutné identifikovat položky a zákazníka. - Při odesílání/doručování zboží (
mallpay/logistics
) je nutné identifikovat položky, kterých se odeslání, resp. doručení týká. - Stejně tak při vratce (
mallpay/refund
) je nutné na bránu odeslat seznam položek, ke kterým se finanční vratka váže. - Pouze funkce
mallpay/cancel
nevyžaduje identifikaci položek, protože tato funkce ruší celou objednávku.
V rámci volání Skip Pay metod se používají následující základní datové struktury:
- address (Adresa)
- price (Částka)
- vat (Daňová sazba a částka)
- order item (Položka objednávky)
Z těchto částí se pro operaci mallpay/init
seskládají složitější datové struktury:
Kromě toho se v rámci operací mallpay/logistics
a mallpay/refund
odkazuje na položky objednávky pomocí datových struktur:
- item reference (Reference na položku objednávky)
- order reference (Reference objednávky)
V následující části je uveden přehled výše zmíněných základních datových struktur a jejich parametrů včetně příkladu plnění:
Tučně uvedené parametry jsou pro volání povinné.
Položka | Typ | Popis |
---|---|---|
name | String | Jméno, max. délka 40 znaků |
country | String | Stát, max. délka 20 znaků |
city | String | Město, max. délka 50 znaků |
streetAddress | String | Ulice (část města), max. délka 100 znaků |
streetNumber | String | Číslo popisné, max. délka 25 znaků |
zip | String | Poštovní směrovací číslo, max. délka 10 znaků |
addressType | String | Typ adresy; adresy se vyplňují u objednávky, povolené hodnoty:DELIVERY (adresa pro doručení)BILLING (fakturační adresa) |
Příklad vyplnění fakturační adresy
{
"addressType":"BILLING",
"streetAddress":"Radlická 333",
"city":"Praha 5",
"zip":"15000",
"country":"CZ"
}
Položka | Typ | Popis |
---|---|---|
amount | Number | Částka v setinách základní měny (např. 12590 odpovídá 125,90 Kč) |
currency | String | Měna dle formátu ISO 4217; pro Skip Pay platební metodu povolena pouze CZK
|
Příklad vyplnění částky 125,90 Kč
{
"amount":12590,
"currency":"CZK"
}
Položka | Typ | Popis |
---|---|---|
amount | Number | Částka daně v setinách základní měny (např. 5000 odpovídá 50,00 Kč) |
currency | String | Měna dle formátu ISO 4217; pro Skip Pay platební metodu povolena pouze CZK
|
vatRate | Number | Daňová sazba jako přirozené číslo (hodnota 15 odpovídá 15% sazbě) |
Příklad vyplnění 15% daňové sazby 50,- Kč
{
"amount":5000,
"currency":"CZK",
"vatRate":15
}
Položka | Typ | Popis |
---|---|---|
code | String | Kód položky (interní pro e-shop). Slouží pro lepší identifikaci položky v případě provádění následných operací (mallpay/logistics , mallpay/refund ). Platební brána ani Skip Pay tento kód nevaliduje, max. délka 50 znaků |
ean | String | Kód EAN, max. délka 15 znaků |
name | String | Název položky, max. délka 200 znaků |
type | String | Typ položky. Povolené hodnoty:PHYSICAL pro fyzické zboží, které zákazníkovi obchodník doručuje nebo si jej zákazník vyzvedává; DISCOUNT použijte, pokud uvádíte slevu jako samostatnou položku na faktuře; DIGITAL použijte pro digitální položky, například elektronické licence nebo média; GIFT_CARD použijte při prodeji dárkových karet; STORE_CREDIT použijte, pokud zákazníkovi prodáváte nebo dáváte dárkovou kartu použitelnou pouze ve vašem obchodě; SALES_TAX použijte, pokud uvádíte daně (např. DPH) jako samostatnou položku na faktuře (v českém prostředí se typicky nepoužije); SHIPPING_FEE použijte pro dopravné; INSURANCE použijte, pokud uvádíte pojištění jako samostatnou položku na faktuře; FEE použijte pro ostatní poplatky. |
quantity | Number | Množství. Pokud je prázdné, odpovídá hodnotě 1. |
variant | String | Varianta produktu (například barva, velikost balení, velikost paměti apod.) - pro iPhone 7 se jedná o "64 GB Space gray" (zákazníkovi se v systému Skip Pay nikde nezobrazuje), max. délka 50 znaků |
description | String | Krátký popisek produktu, max. délka 100 znaků |
producer | String | Výrobce, max. délka 50 znaků |
categories | Array | Seznam kategorií, do kterých lze položku zařadit (může odpovídat kategoriím v e-shopu, zákazníkovi se v systému Skip Pay nikde nezobrazuje). |
unitPrice | Object | Jednotková cena jednoho kusu položky, viz datová struktura price, uvedená jako cena včetně daně (DPH). Daň se vyčísluje v samostatném parametru unitVat . |
unitVat | Object | Jednotková daň za jeden kus položky, viz datová struktura vat |
totalPrice | Object | Celková cena položky, viz datová struktura price, uvedená jako celková cena za nakupovaný počet kusů položky včetně daně (DPH). Daň se vyčísluje v samostatném parametru totalVat . |
totalVat | Object | Celková daň za nakupovaný počet kusů položky, viz datová struktura vat. |
productUrl | String | URL odpovídající popisu položky v e-shopu, max. délka 250 znaků |
Příklad položky objednávky
{
"code":"X123",
"name":"iPhone XS",
"totalPrice": {
"amount":1452000,
"currency":"CZK"
},
"totalVat": {
"amount":252000,
"currency":"CZK",
"vatRate":21
}
}
V následující části je uveden přehled výše zmíněných složitějších datových struktur a jejich parametrů včetně příkladu plnění:
Položka | Typ | Popis |
---|---|---|
firstName | String | Křestní jméno zákazníka. Povinné v případě, že fullName je prázdné, max. délka 40 znaků. |
lastName | String | Příjmení zákazníka. Povinné v případě, že fullName je prázdné, max. délka 40 znaků. |
fullName | String | Celé jméno zákazníka (zadávané na rozdíl od firstName a lastName jako jedna položka) včetně akademických titulů. Povinné pouze v případě, že firstName a lastName jsou prázdné, max. délka 100 znaků. |
titleBefore | String | Akademický titul před jménem, max. délka 20 znaků. |
titleAfter | String | Akademický titul za jménem, max. délka 20 znaků. |
String | E-mailová adresa zákazníka, max. délka 50 znaků. | |
phone | String | Telefonní číslo včetně mezinárodní předvolby (včetně úvodního znaku +), max. délka 16 znaků. |
tin | String | IČO zákazníka, max. délka 10 znaků. |
vatin | String | DIČ zákazníka, max. délka 12 znaků. |
Příklad plnění customer dat (vyplnění oddělených položek pro jméno a příjmení):
{
"firstName":"Adam",
"lastName":"Beran",
"email": "[email protected]",
"phone": "+420800300300"
}
Příklad plnění customer dat (vyplnění položky fullName pro jméno a příjmení):
{
"fullName":"Adam Beran",
"email": "[email protected]",
"phone": "+420800300300"
}
Položka | Typ | Popis |
---|---|---|
totalPrice | Object | Celková cena včetně DPH, tuto částku obdrží obchodník na účet, popis viz datová struktura Price. |
totalVat | Array | Rozpad celkové ceny na jednu nebo více daňových sazeb, popis viz datová struktura vat. |
addresses | Array | Seznam adres. Od verze 1.9 je fakturační adresa (typ BILLING ) i doručovací adresa (typ DELIVERY ) nepovinná. Doporučujeme vyplňovat fakturační adresu a zasílat navíc doručovací adresu (pokud je odlišná od fakturační). |
deliveryType | String | Typ doručení. V případě hodnoty DELIVERY_CARRIER je možné doručení upřesnit v parametru carrierId nebo carrierCustom .Povolené hodnoty: DELIVERY_CARRIER (zaslání dopravcem na adresu specifikovanou zákazníkem)PERSONAL_BRANCH (osobní vyzvednutí na provozovně e-shopu)PERSONAL_PARTNER (osobní vyzvednutí na provozovně distribučního partnera e-shopu)ONLINE (elektronické doručení - např. pro elektronické licence, dárkové karty apod.) |
carrierId | String | Identifikace dopravce, povolené hodnoty:CZ_POST_HAND CZ_POST_OFFICE CZ_POST_OTHER PPL DPD GEIS IN_TIME TOP_TRANS GEBRUDER_WEISS LOCAL_COURIER TNT GLS HDS_COMFORT HDS_STANDARD MALL_DEPOSIT . |
carrierCustom | String | Upřesnění dopravce v případě, že jej nelze specifikovat pomocí carrierId . |
items | Array | Položky objednávky, popis viz datová struktura order item. |
Počet položek objednávky není neomezený. Platí, že celková délka struktury order serializovaná jako JSON nesmí překročit 4000 znaků.
Příklad vyplnění objednávky (jedna položka, uvedena fakturační adresa):
{
"totalPrice": {
"amount":1452000,
"currency":"CZK"
},
"totalVat": [{
"amount":252000,
"currency":"CZK",
"vatRate":21
}],
"addresses": [{
"addressType":"BILLING",
"streetAddress":"Radlická 333",
"city":"Praha 5",
"zip":"15000",
"country":"CZ"
}],
"items": [{
"code":"X123",
"name":"iPhone XS",
"totalPrice": {
"amount":1452000,
"currency":"CZK"
},
"totalVat": {
"amount":252000,
"currency":"CZK",
"vatRate":21
}
}]
}
Příklad vyplnění objednávky (dvě položky, každá v jiné daňové sazbě, bez fakturační nebo dodací adresy):
{
"totalPrice": {
"amount":3047400,
"currency":"CZK"
},
"totalVat": [{
"amount":522900,
"currency":"CZK",
"vatRate":21
},
{
"amount":4500,
"currency":"CZK",
"vatRate":15
}],
"items": [{
"code":"A456",
"name":"Canon EOS 80D",
"totalPrice": {
"amount":3012900,
"currency":"CZK"
},
"totalVat": {
"amount":522900,
"currency":"CZK",
"vatRate":21
}
},
{
"code":"Y987",
"name":"Fotografická příručka",
"totalPrice": {
"amount":34500,
"currency":"CZK"
},
"totalVat": {
"amount":4500,
"currency":"CZK",
"vatRate":15
}
}]
}
V následující části je uveden přehled výše zmíněných datových struktur pro mallpay/logistics a mallpay/refund a jejich parametrů včetně příkladu plnění:
Tato datová struktura se použije pro předání reference na doručené, odeslané nebo zrušené položky objednávky v rámci volání mallpay/logistics
anebo pro předání reference na vrácené položky objednávky v rámci volání mallpay/refund
.
Pozor! Do datové struktury reference na položku objednávky je nutné uvádět stejnou hodnotu položky code
jako při zakládání objednávky v datové struktuře OrderItem
ve volání mallpay/init
. V případě vyplnění položky name
(tato položka je v rámci volání mallpay/logistics
a mallpay/refund
nepovinná), musí být předávaná hodnota také shodná s původní hodnotou předávanou při založení objednávky. Pokud nebude stejná, neprojdou v systému Skip Pay validace.
Položka | Typ | Popis |
---|---|---|
code | String | Kód položky (interní pro e-shop). Slouží pro identifikaci položky objednávky, max. délka 50 znaků. |
ean | String | Kód EAN, max. délka 15 znaků. |
name | String | Název položky, max. délka 200 znaků. |
type | String | Typ položky, povolené hodnoty:PHYSICAL DISCOUNT SHIPPING_FEE SALES_TAX DIGITAL GIFT_CARD STORE_CREDIT FEE INSURANCE . |
quantity | Number | Množství. Pokud je prázdné, odpovídá hodnotě 1. |
Příklad vyplnění reference na položku objednávky:
{
"code":"X123",
"name":"iPhone XS"
}
Tato datová struktura se použije v rámci volání mallpay/logistics
pro předání údajů o celkové ceně doručeného nebo odeslaného zboží včetně rozpadu na daňové sazby a doručených nebo odeslaných položek objednávky. Pomocí této struktury může obchodník dále předat v rámci mallpay/logistics
také údaje o zrušené části objednávky.
Položka | Typ | Popis |
---|---|---|
totalPrice | Object | Celková cena včetně DPH, popis viz datová struktura price. |
totalVat | Array | Daňová sazba, popis viz datová struktura vat. |
items | Array | Pole objektů typu "reference na položku objednávky", kterými obchodník odkazuje na položky objednávky, popis viz datová struktura item reference. |
Příklad vyplnění reference objednávky:
{
"totalPrice": {
"amount":1452000,
"currency":"CZK"
},
"totalVat": [{
"amount":252000,
"currency":"CZK",
"vatRate":21
}],
"items": [{
"code":"X123",
"name":"iPhone XS"
}]
}
POST https://api.platebnibrana.csob.cz/api/v1.9/mallpay/init
Operace založí Odloženou platbu (mallpay@shop). Do systému Skip Pay předá platební brána údaje o zákazníkovi a objednávce. Systém Skip Pay provede prvotní ověření zákazníka (tzv. pre-check), a pokud je platba pro daného zákazníka možná, je výsledkem této operace zejména URL pro přesměrování do Skip Pay.
Položka | Typ | Popis |
---|---|---|
merchantId | String | ID obchodníka přiřazené platební bránou. |
orderNo | String | Referenční číslo objednávky využívané pro párování plateb, které bude uvedeno také na výpisu z banky. Numerická hodnota, maximální délka 10 číslic. |
customer | Object | Údaje o zákazníkovi, které budou použity pro vyřízení Odložené platby u Skip Pay. Popis parametrů viz datová struktura customer. |
order | Object | Údaje o objednávce, které budou použity pro vyřízení Odložené platby u Skip Pay. Popis parametrů viz datová struktura order. |
agreeTC | Boolean | Souhlas zákazníka s obchodními podmínkami Skip Pay. Povolené hodnoty: true , false . Podmínky není nutné na e-shopu zobrazovat - v takovém případě pošlete prosím false a odsouhlasení podmínek si zajistí systém Skip Pay. Pokud budete podmínky zobrazovat, není nutný souhlas ve smyslu zaškrtnutí checkboxu. Jedná se o informovaný souhlas, který stačí zobrazit. |
dttm | String | Datum a čas odeslání požadavku ve formátu YYYYMMDDHHMMSS . |
clientIp | String | IP adresa zákazníka (jeho prohlížeče) přistupujícího na e-shop obchodníka, formát ipv4 nebo ipv6. |
returnUrl | String | URL adresa, na kterou bude klient přesměrován zpět do e-shopu v případě zrušení platby zákazníkem. Maximální délka 300 znaků. Při přesměrování zpět na e-shop se předává stejná sada parametrů jako v případě návratu z platební brány při platbě kartou. |
returnMethod | String | Metoda návratu na URL adresu e-shopu. Povolené hodnoty POST , GET . Doporučená metoda je POST . |
merchantData | String | Libovolná pomocná data, která předává obchodník na bránu, musí být kódována v BASE64. Maximální délka po zakódování je 255 znaků. V případě obchodního modelu "Marketplace" musí obchodník identifikovat svého retailera pomocí IČO. Tento identifikátor je třeba plnit do hranatých závorek [] a může být umístěn libovolně v rámci položky merchantData. V případě, že se nákupu účastní vícero retailerů, hodnoty IČO se oddělují čárkou - např. [12345678,87654321]. |
ttlSec | Number | Nastavení životnosti platby, v sekundách, min. povolená hodnota 600, max. povolená hodnota 43200 (10 min - 12 hodin). Životnost platby je počítána od okamžiku provolání mallpay/init . |
signature | String | Podpis požadavku, kódováno v BASE64. |
Příklad požadavku:
{
"merchantId":"M1MIPS0000",
"orderNo":"51966",
"customer": {
"firstName": "Adam",
"lastName": "Malý",
"email": "[email protected]",
"phone": "+420800300300"
},
"order": {
"totalPrice": {
"amount":1210000,
"currency":"CZK"
},
"totalVat": [{
"amount":210000,
"currency":"CZK",
"vatRate":21
}],
"addresses": [
{
"addressType":"BILLING",
"streetAddress":"Radlická 333",
"city":"Praha 5",
"zip":"15000",
"country":"CZ"
}
],
"items": [
{
"code":"ABC123",
"name":"iPhone 8S",
"totalPrice": {
"amount":1210000,
"currency":"CZK"
},
"totalVat": {
"amount":210000,
"currency":"CZK",
"vatRate":21
}
}
]
},
"agreeTC":true,
"dttm":"20220125131559",
"clientIp":"192.0.2.2",
"returnUrl":"https://shop.example.com/return",
"returnMethod":"POST",
"merchantData":"some-base64-encoded-merchant-data",
"signature":"base64-encoded-signature-of-payment-request"
}
Položka | Typ | Popis |
---|---|---|
payId | String | Jednoznačné ID platby (přidělené platební bránou v operaci mallpay/init , obsahuje 15-znakový řetězec). |
dttm | String | Datum a čas odpovědi ve formátu YYYYMMDDHHMMSS . |
resultCode | Number | Výsledek operace, viz výčet. |
resultMessage | String | Textový popis výsledku operace. |
paymentStatus | Number | Stav platby, viz životní cyklus transakce. |
mallpayUrl | String | URL pro přesměrování zákazníka na Skip Pay, vyplněno v případě, že resultCode je 0 . |
signature | String | Podpis odpovědi, kódováno v BASE64. |
Příklad návratových hodnot pro mallpay/init -- úspěšně založená platby:
{
"payId":"be36dc0c6229@HA",
"dttm":"20220125131601",
"resultCode": 0,
"resultMessage":"OK",
"paymentStatus": 2,
"mallpayUrl": "https://www.mallpay.cz/...",
"signature":"base64-encoded-response-signature"
}
Příklad návratových hodnot pro mallpay/init - zamítnutá platba (nevalidní vstupní parametry):
{
"payId":"be36dc0c6229@HA",
"dttm":"20220125131601",
"resultCode": 110,
"resultMessage":"Missing 'customer' parameter",
"paymentStatus": 6,
"signature":"base64-encoded-response-signature"
}
PUT https://api.platebnibrana.csob.cz/api/v1.9/mallpay/logistics
Pomocí této operace obchodník předá údaje o doručení nebo odeslání (dle smluvního nastavení se Skip Pay) jednotlivých položek objednávky zákazníkovi. Pokud obchodník neodeslal / nedodal všechny původní položky objednávky (předané na platební bránu v operaci mallpay/init, je nutné tyto položky uvést ve zrušených položkách.
Položka | Typ | Popis |
---|---|---|
merchantId | String | ID obchodníka přiřazené platební bránou. |
payId | String | PayID platby. |
event | String | Způsob předání zboží, povolené hodnoty: delivered , sent . |
date | String | Datum doručení nebo odeslání zboží, formát YYYYMMDD . |
fulfilled | Object | Údaje o doručených/odeslaných položkách objednávky včetně celkové částky a rozpadu daňových sazeb, popis viz datová struktura order reference. |
cancelled | Object | Údaje o zrušených položkách objednávky včetně celkové částky a rozpadu daňových sazeb, popis viz datová struktura order reference, vyplněno v případě zrušených položek objednávky u Skip Pay. |
deliveryTrackingNumber | String | Sledovací číslo u dopravce. |
dttm | String | Datum a čas odeslání požadavku ve formátu YYYYMMDDHHMMSS . |
signature | String | Podpis požadavku, kódováno v BASE64. |
Příklad požadavku:
{
"merchantId":"M1MIPS0000",
"payId":"be36dc0c6229@HA",
"event":"delivered",
"date":"20191020",
"fulfilled": {
"totalPrice": { "amount":24200, "currency":"CZK" },
"totalVat": [ { "amount":4200, "currency":"CZK", "vatRate":21 } ],
"items":[
{
"code":"AX1255c",
"name":"Obal na iPhone XS",
"type":"PHYSICAL",
"quantity":1
}
]
},
"dttm":"20220125131610",
"signature":"base64-encoded-request-signature"
}
Položka | Typ | Popis |
---|---|---|
payId | String | Jednoznačné ID platby (přidělené platební bránou v operaci mallpay/init , obsahuje 15-znakový řetězec). |
dttm | String | Datum a čas odpovědi ve formátu YYYYMMDDHHMMSS . |
resultCode | Number | Výsledek operace, viz výčet. |
resultMessage | String | Textový popis výsledku operace. |
paymentStatus | Number | Stav platby, viz životní cyklus transakce. |
statusDetail | String | Detailní stav platby (tzv. mikrostav), obsahuje například důvod zamítnutí platby, možné hodnoty viz číselník. |
signature | String | Podpis odpovědi, kódováno v BASE64. |
Příklad návratových hodnot pro mallpay/logistics:
{
"payId":"be36dc0c6229@HA",
"dttm":"20220125131612",
"resultCode": 0,
"resultMessage":"OK",
"paymentStatus": 7,
"signature":"base64-encoded-response-signature"
}
PUT https://api.platebnibrana.csob.cz/api/v1.9/mallpay/cancel
Pomocí této operace provede obchodník zrušení Odložené platby, ve vstupních parametrech uvádí důvod zrušení. Ruší se celá objednávka, proto nejsou v tomto volání předávány reference na položky objednávky.
Položka | Typ | Popis |
---|---|---|
merchantId | String | ID obchodníka přiřazené platební bránou. |
payId | String | PayID platby. |
reason | String | Důvod zrušení platby obchodníkem, povolené hodnoty:aborted pro zrušenou objednávku zákazníkem; other_payment pro situaci, kdy se zákazník rozhodl změnit způsob platby; undeliverable pro případ, že objednávka byla zrušena z důvodu nedoručitelnosti (např. nevyzvednutý balík); unavailable pro případ zrušení objednávky z důvodu nedostupnosti zboží; abandoned pro případ nedokončení objednávky zákazníkem (pouze pokud e-shop vyžaduje další kroky k dokončení objednávky po potvrzení Skip Pay platby); changed pro případ, že zákazník změnil objednávku a ta z toho důvodu zanikla; unprocessed pro ostatní důvody na straně e-shopu, které vedly k nemožnosti dokončit/naplnit objednávku. |
dttm | String | Datum a čas odeslání požadavku ve formátu YYYYMMDDHHMMSS . |
signature | String | Podpis požadavku, kódováno v BASE64. |
Příklad požadavku:
{
"merchantId":"M1MIPS0000",
"payId":"be36dc0c6229@HA",
"reason":"aborted",
"dttm":"20220125131620",
"signature":"base64-encoded-request-signature"
}
Položka | Typ | Popis |
---|---|---|
payId | String | Jednoznačné ID platby (přidělené platební bránou v operaci mallpay/init , obsahuje 15-znakový řetězec). |
dttm | String | Datum a čas odpovědi ve formátu YYYYMMDDHHMMSS . |
resultCode | Number | Výsledek operace, viz výčet. |
resultMessage | String | Textový popis výsledku operace. |
paymentStatus | Number | Stav platby, viz životní cyklus transakce. |
statusDetail | String | Detailní stav platby (tzv. mikrostav), obsahuje například důvod zamítnutí platby, možné hodnoty viz číselník. |
signature | String | Podpis odpovědi, kódováno v BASE64. |
Příklad návratových hodnot pro mallpay/cancel:
{
"payId":"be36dc0c6229@HA",
"dttm":"20220125131622",
"resultCode": 0,
"resultMessage":"OK",
"paymentStatus": 3,
"signature":"base64-encoded-response-signature"
}
PUT https://api.platebnibrana.csob.cz/api/v1.9/mallpay/refund
Voláním operace je zažádáno o návrat prostředků nazpět plátci. Aplikuje se na již zaúčtované platby. Lze provést i tzv. částečnou vratku vyplněním nepovinného parametru amount
. Částečnou vratku lze provádět opakovaně, přičemž platí, že částka v parametru amount
musí být menší než rozdíl původní autorizované částky a sumy doposud provedených (schválených) částečných vratek.
Položka | Typ | Popis |
---|---|---|
merchantId | String | ID obchodníka přiřazené platební bránou. |
payId | String | Jednoznačné ID platby (přidělené platební bránou v operaci mallpay/init ). |
dttm | String | Datum a čas odeslání požadavku ve formátu YYYYMMDDHHMMSS . |
amount | Number | Požadovaná částka pro částečnou vratku v setinách základní měny; pro úplnou vratku nepovinné. |
refundedItems | Array | Údaje o vrácených položkách objednávky, popis viz datová struktura item reference; povinné pro částečnou i úplnou vratku. |
signature | String | Podpis požadavku, kódováno v BASE64. |
Příklad požadavku:
{
"merchantId":"M1MIPS0000",
"payId":"be36dc0c6229@HA",
"refundedItems":[
{
"code":"AX1255c",
"name":"Obal na iPhone XS"
}],
"dttm":"20220125131710",
"signature":"base64-encoded-request-signature"
}
Položka | Typ | Popis |
---|---|---|
payId | String | Jednoznačné ID platby (přidělené platební bránou v operaci mallpay/init , obsahuje 15-znakový řetězec). |
dttm | String | Datum a čas odpovědi ve formátu YYYYMMDDHHMMSS . |
resultCode | Number | Výsledek operace, viz výčet. |
resultMessage | String | Textový popis výsledku operace. |
paymentStatus | Number | Stav platby, viz životní cyklus transakce. |
statusDetail | String | Detailní stav platby (tzv. mikrostav), obsahuje například důvod zamítnutí platby, možné hodnoty viz číselník. |
signature | String | Podpis odpovědi, kódováno v BASE64. |
Zpracování u této operace je asynchronní, parametr paymentStatus
v návratových hodnotách proto obsahuje aktuální stav platebního požadavku (Platba zúčtována), stav platebního požadavku je možné sledovat přes payment/status
.
Příklad návratových hodnot pro mallpay/refund:
{
"payId":"be36dc0c6229@HA",
"dttm":"20220125131713",
"resultCode": 0,
"resultMessage":"OK",
"paymentStatus": 8,
"signature":"base64-encoded-response-signature"
}
Platební metoda Skip Pay podporuje mikrostavy pouze ve stavech 3, 6 a 10.
Pro platby zrušené obchodníkem (poté, co zavolal operaci mallpay/cancel
) rozlišuje platební brána následující mikrostavy:
statusDetail | popis |
---|---|
canceled.aborted#mallpay |
zrušeno zákazníkem |
canceled.other_payment#mallpay |
změna způsobu platby a zánik objednávky |
canceled.undeliverable#mallpay |
nedoručitelné |
canceled.unavailable#mallpay |
zboží nedostupné |
canceled.abandoned#mallpay |
objednávka opuštěna zákazníkem |
canceled.changed#mallpay |
objednávka byla změněna a zanikla |
canceled.unprocessed#mallpay |
jinak nezpracovaná objednávka |
Pro zamítnuté platby rozlišuje platební brána následující mikrostavy:
statusDetail | popis |
---|---|
declined.abandoned#mallpay |
opuštěno v žádosti – timeout payId |
declined.rejected#mallpay |
obecné zamítnutí – zamítnutí žádosti ve Skip Pay |
declined.shipping_timeout#mallpay |
obchodník nepředal logistický stav v limitu |
Pro platby, u nichž došlo k vratce, rozlišuje platební brána následující mikrostavy:
statusDetail | popis |
---|---|
refunded.full#mallpay |
provedena plná vratka (jedna nebo více částečných) |
refunded.partial#mallpay |
provedena částečná vratka (jedna nebo více částečných, přičemž nebyla dosažena suma původní transakce) |
- Průběh platby
- API integrace a zabezpečení
- Návod na přechod do produkčního prostředí
- Testovací karty
- API Sunset
- Ověření karetních plateb
- Platba na bráně
- OneClick platba
- Platba na míru
- Apple Pay
- Google Pay
- Zaúčtování platby kartou na menší částku
- Platební tlačítko ČSOB
- Platba Skip Pay
- Volání rozhraní eAPI
- Podpis požadavku a ověření podpisu odpovědi
- Přehled eAPI metod
- Základní metody
- Metody pro OneClick platbu
- Metody pro Apple Pay
- Metody pro Google Pay
- Metody pro platební tlačítko
- Metody pro platbu Skip Pay
- Dodatečná data o nákupu