Mitinātā maksājuma lapa (HPP)
Pieņemiet maksājumus, izmantojot Cost+ mitināto maksājuma lapu
Mitinātā maksājuma lapa (HPP) ir Cost+ PCI DSS sertificēta maksājuma forma. Tā ļauj jums pieņemt maksājumus, neapstrādājot sensitīvus kartes datus jūsu serveros. Jūs izveidojat pasūtījumu caur API, novirzāt klientu uz mitināto lapu, un viņš atgriežas jūsu vietnē pēc maksājuma.
Kā tas darbojas
- Jūsu serveris izveido pasūtījumu, izsaucot POST /v1/orders/.
- API atgriež URL, kas norāda uz mitināto maksājuma lapu.
- Jūs novirzāt klientu uz maksājuma lapu.
- Klients pabeidz maksājumu Cost+ mitinātajā lapā.
- Klients tiek novirzīts atpakaļ uz jūsu
return_url(vaifailure_urlneveiksmīgu maksājumu gadījumā). - Cost+ nosūta webhook paziņojumu uz jūsu
webhook_urlar pasūtījuma statusu.
Mitinātā maksājuma lapa ir pilnībā PCI DSS sertificēta. Jums nekad nav jāapstrādā neapstrādāti karšu numuri vai sensitīvi maksājumu dati jūsu serveros.
Pasūtījuma izveide
Ir divas pieejas HPP izmantošanai:
1. pieeja: Parādīt visas maksājumu metodes (vienkāršākā)
Izveidojiet pasūtījumu bez transactions norādīšanas. Atbilde ietver order_url — klients tiek novirzīts uz turieni un redz visas jūsu kontam aktivizētās maksājumu metodes:
{
"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"
}Novirziet klientu uz order_url. Mitinātajā lapā tiek parādītas visas aktivizētās maksājumu metodes.
2. pieeja: Iepriekš atlasīt maksājumu metodes
Izveidojiet pasūtījumu ar transactions masīvu, lai kontrolētu, kuras maksājumu metodes parādās un kādā secībā. Katrs darījums ietver payment_method, un atbilde atgriež payment_url darījuma objektā:
{
"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.../"
}
]
}Novirziet klientu uz payment_url no darījuma.
Ja norādāt tikai vienu ierakstu transactions masīvā, klients tiek tieši novirzīts uz šo maksājumu metodi, neredzot atlases ekrānu. flags masīvs satur "is-test", kad tiek izmantota sandbox API atslēga.
Pieprasījuma lauki
| Lauks | Obligāts | Apraksts |
|---|---|---|
currency | Jā | ISO 4217 valūtas kods (piemēram, EUR, GBP, SEK) |
amount | Jā | Summa valūtas ISO 4217 mazajā vienībā. Piemēram, 12.95 EUR ir attēlots kā 1295 |
merchant_order_id | Nē | Jūsu pašu atsauces ID pasūtījumam |
return_url | Nē | URL, uz kuru novirzīt klientu pēc maksājuma (noklusējums visiem statusiem) |
failure_url | Nē | URL, uz kuru novirzīt klientu ar cancelled, expired vai error statusu (skatiet atgriešanas URL zemāk) |
locale | Nē | Maksājuma lapas valoda. Atbalstītās: en-GB, de-DE, nl-NL, nl-BE, fr-BE, sv-SE, no-NO, da-DK |
description | Nē | Pasūtījuma apraksts, kas tiek parādīts klientam |
payment_methods | Nē | Filtrējiet uz vienu maksājuma veidu (piem., ["credit-card"]). Nerādīt visas iespējotās metodes. Vairākām specifiskām metodēm izmantojiet masīvu transactions |
webhook_url | Nē | URL statusa izmaiņu paziņojumu saņemšanai |
expiration_period | Nē | ISO 8601 ilgums pasūtījuma termiņam. Noklusējums ir PT30M (30 minūtes) |
Lauks amount vienmēr ir vesels skaitlis valūtas ISO 4217 mazajā vienībā. EUR 1295 nozīmē 12,95 EUR; Nulles un trīs decimālzīmju valūtas izmanto savu eksponentu ISO 4217. Decimāldaļas, piemēram, 1295.00 vai 12.95, nosūtīšana radīs kļūdu vai nepareizu maksu.
Vairākas maksājumu metodes
Ir divi veidi, kā kontrolēt, kuri maksājuma veidi tiek rādīti mitinātajā lapā.
Opcija A — payment_methods (viens filtrs). Nododiet viena elementa masīvu, lai ierobežotu pasūtījumu ar vienu maksājuma veidu. Pilnībā izlaidiet šo lauku, lai parādītu visas jūsu kontā iespējotās metodes.
Opcija B — masīvs transactions (ieteicams vairākām metodēm). Pievienojiet vienu ierakstu katram maksājuma veidam. Katram darījumam ir savs payment_url, un metodes tiek rādītas masīva secībā mitinātajā lapā:
"transactions": [
{ "payment_method": "credit-card" },
{ "payment_method": "apple-pay" }
]Pasūtījumu laukā payment_methods tiek pieņemta ne vairāk kā viena vērtība. Lai piedāvātu vairākas konkrētas metodes, vienmēr izmantojiet masīvu transactions. Ja jums ir nepieciešama atkārtoti lietojama saite ar vairākiem maksājuma veidiem, tā vietā apsveriet [Maksājumu saites] (/docs/guides/payment-links), kas atbalsta patiesu payment_methods masīvu.
Atgriešanas URL
Pēc maksājuma klients tiek novirzīts, pamatojoties uz pasūtījuma statusu un norādītajiem URL:
-
Kad ir iestatīti gan
return_url, ganfailure_url:cancelled,expiredvaierror→ klients tiek novirzīts uzfailure_url- Visi pārējie statusi → klients tiek novirzīts uz
return_url
-
Kad ir iestatīts tikai
return_url:- Visi statusi → klients tiek novirzīts uz
return_url
- Visi statusi → klients tiek novirzīts uz
Izmantojiet failure_url, lai parādītu atkārtotas mēģināšanas vai atbalsta lapu neveiksmīgiem maksājumiem, kamēr return_url parāda pasūtījuma apstiprinājumu. Ja jums nepieciešams tikai viens galamērķis, pietiek ar return_url vien.
Atcelšanas pogas uzvedība
Mitinātajā maksājuma lapā ir atcelšanas poga. Kad klients uz tās noklikšķina, viņš tiek novirzīts uz failure_url (ja norādīts) vai return_url. Pasūtījuma statuss pāries uz cancelled. Vienmēr verificējiet pasūtījuma statusu caur API vai webhook, nevis paļaujieties tikai uz novirzīšanu.
Saistītie galapunkti
- Izveidot pasūtījumu — izveidot maksājuma pasūtījumu un saņemt
payment_url - Iegūt pasūtījumu — pārbaudīt pasūtījuma statusu pēc maksājuma