Cost+Docs

Mokėjimo puslapis (HPP)

Priimkite mokėjimus naudodami Cost+ mokėjimo puslapį

Mokėjimo puslapis (HPP) yra Cost+ PCI DSS atitinkanti mokėjimo forma. Ji leidžia priimti mokėjimus netvarkant jautrių kortelės duomenų savo serveriuose. Sukuriate užsakymą per API, nukreipiate klientą į mokėjimo puslapį, ir jis grįžta į jūsų svetainę po mokėjimo.

Kaip tai veikia

  1. Jūsų serveris sukuria užsakymą iškviesdamas POST /v1/orders/.
  2. API grąžina URL, nukreipiantį į mokėjimo puslapį.
  3. Nukreipiate klientą į mokėjimo puslapį.
  4. Klientas atlieka mokėjimą Cost+ mokėjimo puslapyje.
  5. Klientas nukreipiamas atgal į jūsų return_url (arba failure_url nepavykusių mokėjimų atveju).
  6. Cost+ siunčia webhook pranešimą į jūsų webhook_url su užsakymo būsena.

Mokėjimo puslapis yra visiškai PCI DSS atitinkantis. Jums niekada nereikia tvarkyti neapdorotų kortelių numerių ar jautrių mokėjimo duomenų savo serveriuose.

Užsakymo kūrimas

Yra du būdai naudoti HPP:

1 būdas: Rodyti visus mokėjimo būdus (paprasčiausias)

Sukurkite užsakymą nenurodydami transactions. Atsakyme pateikiamas order_url — klientas nukreipiamas ten ir mato visus jūsų paskyrai įjungtus mokėjimo būdus:

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://api.costplus.online/pay/43114fde.../select-payment-method/",
  "return_url": "https://www.example.com",
  "webhook_url": "https://www.example.com/webhook"
}

Nukreipkite klientą į order_url. Mokėjimo puslapyje rodomi visi įjungti mokėjimo būdai.

2 būdas: Iš anksto parinkti mokėjimo būdus

Sukurkite užsakymą su transactions masyvu, kad valdytumėte, kokie mokėjimo būdai rodomi ir kokia tvarka. Kiekviena operacija apima payment_method, o atsakyme grąžinamas payment_url operacijos objekte:

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://api.costplus.online/pay/4851e31c.../select-payment-method/credit-card/d291f03f.../"
    }
  ]
}

Nukreipkite klientą į payment_url iš operacijos.

Jei pateiksite tik vieną įrašą transactions masyve, klientas bus nukreiptas tiesiai į tą mokėjimo būdą be pasirinkimo ekrano. flags masyve bus "is-test", kai naudojamas testavimo API raktas.

Užklausos laukai

LaukasPrivalomasAprašymas
currencyTaipISO 4217 valiutos kodas (pvz., EUR, GBP, SEK)
amountTaipSuma mažuoju valiutos vienetu ISO 4217. Pavyzdžiui, 12.95 EUR vaizduojamas kaip 1295
merchant_order_idNeJūsų nuosavasis užsakymo nuorodos ID
return_urlNeURL, į kurį nukreipti klientą po mokėjimo (numatytasis visoms būsenoms)
failure_urlNeURL, į kurį nukreipti klientą esant cancelled, expired arba error būsenai (žr. Grąžinimo URL žemiau)
localeNeMokėjimo puslapio kalba. Palaikoma: en-GB, de-DE, nl-NL, nl-BE, fr-BE, sv-SE, no-NO, da-DK
descriptionNeUžsakymo aprašymas, rodomas klientui
payment_methodsNrFiltruokite į vieną mokėjimo metodą (pvz., ["credit-card"]). Nerodykite visų įgalintų metodų. Jei norite naudoti kelis konkrečius metodus, naudokite masyvą transactions
webhook_urlNeURL būsenos pakeitimo pranešimams gauti
expiration_periodNeISO 8601 trukmė užsakymo galiojimui. Numatytoji yra PT30M (30 minučių)

Laukas amount visada yra sveikasis skaičius mažajame valiutos vienete ISO 4217. EUR 1295 reiškia 12,95 EUR; nulio ir trijų dešimtųjų valiutos naudoja savo ISO 4217 rodiklį. Perdavus dešimtainę reikšmę, pvz., 1295.00 arba 12.95, atsiras klaida arba neteisingas apmokestinimas.

Keli mokėjimo būdai

Yra du būdai valdyti, kurie mokėjimo metodai rodomi priglobtame puslapyje:

A parinktis – payment_methods (vienas filtras). Perduokite vieno elemento masyvą, kad apribotumėte užsakymą iki vieno mokėjimo metodo. Visiškai praleiskite lauką, kad būtų rodomi visi paskyroje įgalinti metodai.

B parinktis – transactions masyvas (rekomenduojama naudoti kelis metodus). Pridėkite vieną įrašą kiekvienam mokėjimo metodui. Kiekviena operacija gauna savo payment_url, o metodai pateikiami masyvo tvarka priglobtame puslapyje:

"transactions": [
  { "payment_method": "credit-card" },
  { "payment_method": "apple-pay" }
]

Užsakymų lauke payment_methods priimama daugiausia viena vertė. Norėdami pasiūlyti kelis konkrečius metodus, visada naudokite transactions masyvą. Jei jums reikia daugkartinio naudojimo nuorodos su keliais mokėjimo metodais, apsvarstykite galimybę [Payment Links] (/docs/guides/payment-links), kurios palaiko tikrą payment_methods masyvą.

Grąžinimo URL

Po mokėjimo klientas nukreipiamas pagal užsakymo būseną ir nurodytus URL:

  • Kai nustatyti ir return_url, ir failure_url:

    • cancelled, expired arba error → klientas nukreipiamas į failure_url
    • Visos kitos būsenos → klientas nukreipiamas į return_url
  • Kai nustatytas tik return_url:

    • Visos būsenos → klientas nukreipiamas į return_url

Naudokite failure_url, kad rodytumėte pakartojimo arba palaikymo puslapį nepavykusiems mokėjimams, o return_url rodytų užsakymo patvirtinimą. Jei reikia tik vienos paskirties vietos, pakanka return_url.

Atšaukimo mygtuko elgesys

Mokėjimo puslapyje yra atšaukimo mygtukas. Kai klientas jį paspaudžia, jis nukreipiamas į failure_url (jei pateikta) arba return_url. Užsakymo būsena pasikeis į cancelled. Visada patikrinkite užsakymo būseną per API arba webhooks, o ne pasitikėkite vien peradresavimu.

Susiję galiniai taškai

On this page