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
- Jūsų serveris sukuria užsakymą iškviesdamas POST /v1/orders/.
- API grąžina URL, nukreipiantį į mokėjimo puslapį.
- Nukreipiate klientą į mokėjimo puslapį.
- Klientas atlieka mokėjimą Cost+ mokėjimo puslapyje.
- Klientas nukreipiamas atgal į jūsų
return_url(arbafailure_urlnepavykusių mokėjimų atveju). - Cost+ siunčia webhook pranešimą į jūsų
webhook_urlsu 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:
{
"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://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:
{
"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://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
| Laukas | Privalomas | Aprašymas |
|---|---|---|
currency | Taip | ISO 4217 valiutos kodas (pvz., EUR, GBP, SEK) |
amount | Taip | Suma mažuoju valiutos vienetu ISO 4217. Pavyzdžiui, 12.95 EUR vaizduojamas kaip 1295 |
merchant_order_id | Ne | Jūsų nuosavasis užsakymo nuorodos ID |
return_url | Ne | URL, į kurį nukreipti klientą po mokėjimo (numatytasis visoms būsenoms) |
failure_url | Ne | URL, į kurį nukreipti klientą esant cancelled, expired arba error būsenai (žr. Grąžinimo URL žemiau) |
locale | Ne | Mokėjimo puslapio kalba. Palaikoma: en-GB, de-DE, nl-NL, nl-BE, fr-BE, sv-SE, no-NO, da-DK |
description | Ne | Užsakymo aprašymas, rodomas klientui |
payment_methods | Nr | Filtruokite į vieną mokėjimo metodą (pvz., ["credit-card"]). Nerodykite visų įgalintų metodų. Jei norite naudoti kelis konkrečius metodus, naudokite masyvą transactions |
webhook_url | Ne | URL būsenos pakeitimo pranešimams gauti |
expiration_period | Ne | ISO 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, irfailure_url:cancelled,expiredarbaerror→ klientas nukreipiamas įfailure_url- Visos kitos būsenos → klientas nukreipiamas į
return_url
-
Kai nustatytas tik
return_url:- Visos būsenos → klientas nukreipiamas į
return_url
- Visos būsenos → klientas nukreipiamas į
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
- Sukurti užsakymą — sukurti mokėjimo užsakymą ir gauti
payment_url - Gauti užsakymą — patikrinti užsakymo būseną po mokėjimo