Drupal Commerce
Integrer Cost+ med din Drupal Commerce-butikk ved hjelp av den offisielle betalingsgateway-modulen

Integrer Cost+ som en betalingsmetode i din Drupal Commerce-butikk. Den offisielle NoPayn Payment Gateway-modulen bruker flyten med hostet betalingsside, så ingen kortdata berører serveren din — fullt PCI DSS-kompatibelt.
Forutsetninger
- Aktiv Cost+ forhandlerkonto
- Drupal 10 eller 11
- Drupal Commerce 3.x
- PHP 8.1 eller nyere
- Administratortilgang til Drupal-nettstedet ditt
Støttede betalingsmetoder
- Kreditt-/debetkort — Visa, Mastercard og flere
- Apple Pay
- Google Pay
- Vipps / MobilePay
1. Installer modulen
Kopier commerce_nopayn-modulen til Drupal-installasjonen din og aktiver den:
cp -r commerce_nopayn /path/to/drupal/web/modules/custom/
drush en commerce_nopayn -y
drush crDu kan også laste ned modulen direkte fra GitHub-repositoriet.
2. Legg til en betalingsgateway
- Naviger til Commerce → Konfigurasjon → Betalingsgatewayer (
/admin/commerce/config/payment-gateways) - Klikk Legg til betalingsgateway
- Velg NoPayn Payment Gateway som tillegg
3. Konfigurer gatewayen
Skriv inn følgende innstillinger:
- NoPayn API Key — Din forhandler-API-nøkkel fra forhandlerportalen
- Payment Methods — Aktiver eller deaktiver kredittkort, Apple Pay, Google Pay, Vipps MobilePay
- Mode — Sett til Test når du bruker en API-nøkkel fra et sandbox-nettsted, eller Live når du bruker en produksjonsnøkkel
Aktiver kun betalingsmetodene du har blitt godkjent for og mottatt bekreftelse på.
Valgfrie innstillinger
- Manual Capture — Autoriser kredittkortbetalinger uten umiddelbar innløsning (midler reserveres, deretter innløses når ordren fullføres)
- Debug Logging — Aktiver for å logge alle API-forespørsler og -svar til Drupal-loggen for feilsøking
Klikk Lagre når du er ferdig.
4. Betalingsflyt
Når den er konfigurert, fungerer betalingsflyten som følger:
- Kunden legger produkter i handlekurven og går til utsjekking
- I betalingssteget vises aktiverte Cost+-metoder som radioknapper
- Kunden velger en metode og bekrefter ordren
- Modulen oppretter en ordre via Cost+ API-et og videresender til den hostede betalingssiden
- Kunden gjennomfører betalingen på Cost+-siden
- Kunden returnerer til butikken — betalingen verifiseres via API
- En webhook fra Cost+ bekrefter betalingsresultatet asynkront
Betalingsøkter utløper etter 5 minutter per Cost+-standard. Modulen sender også spesifiserte ordrelinjer (produkter og frakt) til Cost+ for detaljerte transaksjonsoppføringer.
5. Webhook-konfigurasjon
Webhook-URL-en genereres automatisk av Drupal Commerce:
https://your-store.com/payment/notify/{gateway_machine_name}For eksempel: https://your-store.com/payment/notify/nopayn
Denne URL-en må være tilgjengelig fra internett uten autentisering. Modulen verifiserer alltid betalingsstatus via API-et — den stoler aldri på webhook-innholdet alene.
Manuell innløsning
Når manuell innløsning er aktivert for kredittkort:
- Kundens kort autoriseres (midler reserveres) under utsjekking
- Innløsning skjer automatisk når ordren går til Fullfør
- Hvis ordren kanselleres, annulleres autorisasjonen via webhook
Bruk manuell innløsning hvis du kun vil belaste kunder når ordren sendes. Dette er nyttig for forhandlere med lengre leveringstider.
Refusjoner
Refusjoner kan behandles direkte fra Commerce-administrasjonspanelet. Både fulle og delvise refusjoner støttes.
Databasetabeller
Modulen oppretter to tabeller for sporing:
| Tabell | Formål |
|---|---|
nopayn_transactions | Sporer betalingsordrer opprettet med Cost+ API-et |
nopayn_refunds | Registrerer refusjonsoperasjoner for revisjon |
Avinstallering
drush pmu commerce_nopayn -y
drush crAvinstallering av modulen vil slette tabellene nopayn_transactions og nopayn_refunds. Sørg for å eksportere eventuelle data du trenger før avinstallering.
Test og lanser
Gjennomfør noen testtransaksjoner for å sikre at alt fungerer som det skal. Sett gatewayen i Test-modus og verifiser både vellykkede og mislykkede betalinger før du bytter til Live.
Kundestøtte
Trenger du hjelp? Kontakt kundestøtteteamet vårt på support@costplus.io.