Cost+Docs

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

  1. Jūsu serveris izveido pasūtījumu, izsaucot POST /v1/orders/.
  2. API atgriež URL, kas norāda uz mitināto maksājuma lapu.
  3. Jūs novirzāt klientu uz maksājuma lapu.
  4. Klients pabeidz maksājumu Cost+ mitinātajā lapā.
  5. Klients tiek novirzīts atpakaļ uz jūsu return_url (vai failure_url neveiksmīgu maksājumu gadījumā).
  6. Cost+ nosūta webhook paziņojumu uz jūsu webhook_url ar 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:

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"
}

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ā:

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.../"
    }
  ]
}

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

LauksObligātsApraksts
currencyISO 4217 valūtas kods (piemēram, EUR, GBP, SEK)
amountSumma valūtas ISO 4217 mazajā vienībā. Piemēram, 12.95 EUR ir attēlots kā 1295
merchant_order_idJūsu pašu atsauces ID pasūtījumam
return_urlURL, uz kuru novirzīt klientu pēc maksājuma (noklusējums visiem statusiem)
failure_urlURL, uz kuru novirzīt klientu ar cancelled, expired vai error statusu (skatiet atgriešanas URL zemāk)
localeMaksājuma lapas valoda. Atbalstītās: en-GB, de-DE, nl-NL, nl-BE, fr-BE, sv-SE, no-NO, da-DK
descriptionPasūtījuma apraksts, kas tiek parādīts klientam
payment_methodsFiltrē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_urlURL statusa izmaiņu paziņojumu saņemšanai
expiration_periodISO 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, gan failure_url:

    • cancelled, expired vai error → klients tiek novirzīts uz failure_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

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

On this page