Tárolt fizetési oldal (HPP)
Fizetések elfogadása a Cost+ tárolt fizetési oldalával
A Tárolt fizetési oldal (HPP) a Cost+ PCI DSS megfelelőségű fizetési űrlapja. Lehetővé teszi fizetések elfogadását anélkül, hogy érzékeny kártyaadatokat kellene kezelnie a saját szerverein. Létrehoz egy rendelést az API-n keresztül, átirányítja az ügyfelet a tárolt oldalra, és a fizetés után visszatér az Ön oldalára.
Hogyan működik
- Az Ön szervere rendelést hoz létre a POST /v1/orders/ végpont meghívásával.
- Az API egy URL-t ad vissza, amely a tárolt fizetési oldalra mutat.
- Átirányítja az ügyfelet a fizetési oldalra.
- Az ügyfél befejezi a fizetést a Cost+ tárolt oldalán.
- Az ügyfelet visszairányítjuk az Ön
return_urlcímére (vagyfailure_urlcímére sikertelen fizetés esetén). - A Cost+ webhook értesítést küld az Ön
webhook_urlcímére a rendelés állapotával.
A tárolt fizetési oldal teljes mértékben PCI DSS megfelelőségű. Soha nem kell nyers kártyaszámokat vagy érzékeny fizetési adatokat kezelnie a szerverein.
Rendelés létrehozása
A HPP használatának két megközelítése van:
1. megközelítés: Összes fizetési mód megjelenítése (legegyszerűbb)
Hozzon létre rendelést transactions megadása nélkül. A válasz tartalmaz egy order_url-t — az ügyfelet ide irányítjuk, és látja az Ön fiókjára engedélyezett összes fizetési módot:
{
"currency": "EUR",
"amount": 1295,
"merchant_order_id": "my-order-id-1",
"description": "My amazing order",
"return_url": "https://www.example.com",
"webhook_url": "https://www.example.com/webhook"
}{
"id": "43114fde-da30-4115-8004-b7f808f9b25c",
"status": "new",
"currency": "EUR",
"amount": 1295,
"order_url": "https://pay.costplus.online/43114fde.../select-payment-method/",
"return_url": "https://www.example.com",
"webhook_url": "https://www.example.com/webhook"
}Irányítsa át az ügyfelet az order_url-re. A tárolt oldalon az összes engedélyezett fizetési mód megjelenik.
2. megközelítés: Fizetési módok előválasztása
Hozzon létre rendelést a transactions tömb megadásával, hogy szabályozza, mely fizetési módok jelenjenek meg és milyen sorrendben. Minden tranzakció tartalmaz egy payment_method értéket, és a válasz a tranzakció objektumban egy payment_url-t ad vissza:
{
"currency": "EUR",
"amount": 1295,
"merchant_order_id": "my-order-id-1",
"description": "My amazing order",
"return_url": "https://www.example.com",
"webhook_url": "https://www.example.com/webhook",
"transactions": [
{ "payment_method": "credit-card" }
]
}{
"id": "4851e31c-4137-4e91-95ef-1df945ee76a2",
"status": "new",
"currency": "EUR",
"amount": 1295,
"transactions": [
{
"id": "d291f03f-a406-428a-967a-4895a46e03fd",
"payment_method": "credit-card",
"status": "new",
"payment_url": "https://pay.costplus.online/4851e31c.../credit-card/d291f03f.../"
}
]
}Irányítsa át az ügyfelet a tranzakcióból kapott payment_url-re.
Ha csak egyetlen bejegyzést ad meg a transactions tömbben, az ügyfél közvetlenül az adott fizetési módra kerül, választási képernyő nélkül. A flags tömb tartalmazza az "is-test" értéket sandbox API-kulcs használatakor.
Kérés mezők
| Mező | Kötelező | Leírás |
|---|---|---|
currency | Igen | ISO 4217 pénznemkód (pl. EUR, GBP, SEK) |
amount | Igen | Összeg centben. Például 12,95 EUR esetén 1295 |
merchant_order_id | Nem | Az Ön saját referenciaazonosítója a rendeléshez |
return_url | Nem | URL, ahová az ügyfelet fizetés után irányítjuk (alapértelmezett minden állapothoz) |
failure_url | Nem | URL, ahová az ügyfelet cancelled, expired vagy error állapot esetén irányítjuk (lásd a Visszairányítási URL-ek részt alább) |
locale | Nem | A fizetési oldal nyelve. Támogatott: en-GB, de-DE, nl-NL, nl-BE, fr-BE, sv-SE, no-NO, da-DK |
description | Nem | A rendelés leírása, amely megjelenik az ügyfélnek |
payment_methods | Nem | Filter to a single payment method (e.g. ["credit-card"]). Omit to show all enabled methods. For multiple specific methods, use the transactions array instead |
webhook_url | Nem | URL az állapotváltozási értesítések fogadásához |
expiration_period | Nem | ISO 8601 időtartam a rendelés lejáratához. Az alapértelmezett PT30M (30 perc) |
Az amount mező mindig a legkisebb pénznem-egységben (cent) van megadva. A 1295 érték 12,95-öt jelent az adott pénznemben. A 1295.00 vagy 12.95 érték megadása hibát vagy helytelen terhelést eredményez.
Több fizetési mód
Több konkrét fizetési mód felajánlásához adjon hozzá több bejegyzést a transactions tömbhöz. A tárolt oldalon a sorrend megegyezik a tömb sorrendjével:
"transactions": [
{ "payment_method": "credit-card" },
{ "payment_method": "apple-pay" }
]The payment_methods field on orders accepts at most one value. To offer multiple specific methods, always use the transactions array. If you need a reusable link with multiple payment methods, consider Payment Links instead, which support a true payment_methods array.
Visszairányítási URL-ek
A fizetés után az ügyfelet a rendelés állapota és a megadott URL-ek alapján irányítjuk át:
-
Ha mind a
return_url, mind afailure_urlbe van állítva:cancelled,expiredvagyerror→ az ügyfelet afailure_urlcímre irányítjuk- Minden más állapot → az ügyfelet a
return_urlcímre irányítjuk
-
Ha csak a
return_urlvan beállítva:- Minden állapot → az ügyfelet a
return_urlcímre irányítjuk
- Minden állapot → az ügyfelet a
Használja a failure_url-t egy újrapróbálkozási vagy ügyfélszolgálati oldal megjelenítéséhez sikertelen fizetések esetén, míg a return_url a rendelés visszaigazolását jeleníti meg. Ha csak egy célcímre van szüksége, a return_url önmagában is elegendő.
Mégse gomb viselkedése
A tárolt fizetési oldal tartalmaz egy mégse gombot. Amikor az ügyfél rákattint, a failure_url címre (ha meg van adva) vagy a return_url címre irányítjuk. A rendelés állapota cancelled lesz. Mindig ellenőrizze a rendelés állapotát az API-n vagy webhookon keresztül, ahelyett hogy kizárólag az átirányításra hagyatkozna.
Kapcsolódó végpontok
- Rendelés létrehozása — fizetési rendelés létrehozása és a
payment_urlfogadása - Rendelés lekérdezése — a rendelés állapotának ellenőrzése fizetés után