Cost+Docs

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

  1. Az Ön szervere rendelést hoz létre a POST /v1/orders/ végpont meghívásával.
  2. Az API egy URL-t ad vissza, amely a tárolt fizetési oldalra mutat.
  3. Átirányítja az ügyfelet a fizetési oldalra.
  4. Az ügyfél befejezi a fizetést a Cost+ tárolt oldalán.
  5. Az ügyfelet visszairányítjuk az Ön return_url címére (vagy failure_url címére sikertelen fizetés esetén).
  6. A Cost+ webhook értesítést küld az Ön webhook_url cí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:

Request
{
  "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"
}
Response
{
  "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:

Request
{
  "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" }
  ]
}
Response
{
  "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
currencyIgenISO 4217 pénznemkód (pl. EUR, GBP, SEK)
amountIgenÖsszeg centben. Például 12,95 EUR esetén 1295
merchant_order_idNemAz Ön saját referenciaazonosítója a rendeléshez
return_urlNemURL, ahová az ügyfelet fizetés után irányítjuk (alapértelmezett minden állapothoz)
failure_urlNemURL, 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)
localeNemA fizetési oldal nyelve. Támogatott: en-GB, de-DE, nl-NL, nl-BE, fr-BE, sv-SE, no-NO, da-DK
descriptionNemA rendelés leírása, amely megjelenik az ügyfélnek
payment_methodsNemFilter 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_urlNemURL az állapotváltozási értesítések fogadásához
expiration_periodNemISO 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 a failure_url be van állítva:

    • cancelled, expired vagy error → az ügyfelet a failure_url címre irányítjuk
    • Minden más állapot → az ügyfelet a return_url címre irányítjuk
  • Ha csak a return_url van beállítva:

    • Minden állapot → az ügyfelet a return_url címre irányítjuk

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

On this page