Child pages
  • Förenklad betalning via webservice i BRP Online
Skip to end of metadata
Go to start of metadata

Detta är en funktion för att förenkla för API-utvecklare som skriver kundspecifika webbsidor för försäljning av produkter online. BRP sköter kontakt med betalväxel och hanterar redirect så att kunden skickas till korrekt sida för att mata in kortuppgifter. BRP har idag stöd för följande betalväxlar BRP, Svea Webpay, Nets och PayU. Parallellt med dessa går det även att betala beställningar via Swish.  

För att konfigurera BRP för denna lösning kontakta BRP:s support.  

Flöde

  1. Kund skapar en beställning via en webbsida som går mot BRP:s REST-API se exempel här: Exempel på vanliga api-flöden
  2. Alla orderrader i beställningen måste vara odebiterade. Beställningens summa måste vara större eller lika med än 0 kr. OBS! Undantag vid köp av produkter som kräver återkommande kortbetalning, då måste summan vara större än 0 kr.
  3. Kunden skickas till BRP Online som gör en http redirect till korrekt sida hos betalväxeln.
  4. Kund genomför betalningen hos betalväxeln
  5. Kunden skickas till BRP Online
  6. BRP skapar ett kvitto för bokföringen och markerar beställningen som debiterad
  7. Ett mail med kvittot enligt standard mall skickas till kundens e-postadress (Inställningsbart), avsnitt Kvitto via e-post
  8. BRP omdirigerar kunden till angiven returURL med kvitto-id och beställnings-id som parametrar. Misslyckas betalningen sker samma omdirigering fast med en felkod som parameter.
  9. Kvittot hämtas ut via BRP:s REST-API och visas för kunden


Kvitto via e-post

Vid ett slutfört köp så kan ett e-post med kvittot enligt standard mall skickas till kundens e-postadress. Detta beteende är avstängt som standard för bakåtkompatibilitet men kan slås på av BRP support. Notera att kundens e-postadress måste vara sparad på kunden för att kunna slutföra köpet när denna funktion är aktiverad.

Om inställningen "Skickat kvittokopia till" är satt kommer en kopia på kvittot att skickas till den angivna e-postadressen.

Exempel

För exempel på kvitto se: Kvitto.pdf

Notis om signering av elektroniskt avtal

Vid köp av produkter som kräver en underskrift av avtal och elektroniska underskrifter är aktiverat i BRP (se Elektronisk underskrift) så kommer en notis att visas i e-mailet. Notisen innehåller en uppmaning till kunden att signera avtalet samt en länk där kunden kan signera avtalet. Detta aktiveras automatiskt när e-underskrifter är aktiverat.

Se exempel på kvitto med uppmaning att signera avtal: Kvitto E-underskrift.pdf

Notis om registrering av AvtaleGiro-medgivande

Vid köp av produkter som kräver AvtaleGiro-medgivande så kommer en notis att visas i e-posten. Notisen innehåller en uppmaning till kunden att registrera ett AvtaleGiro-medgivande hos Nets samt en länk som leder till Nets onlineregistrering av AvtaleGiro-medgivanden. Denna funktion är avstäng som standard men kan aktiveras av BRP support vid önskemål. 

Se exempel på kvitto med uppmaning att registrera AvtaleGiro: Kvitto AvtaleGiro.pdf

Begrepp

BasURL är exempelvis

https://api.brpsystems.se/brponline/

 

Betala beställning via betaltjänstleverantör

 För att genomföra betalningen ska websidan gå mot:

GET {BasURL}/external/payment/payfororder?orderid={orderid}&returnurl={returnurl}&hash={hash}
 
returnurl = Vilken sida kunden ska omdirigeras till efter genomförd betalning (URL-kodat). Exempel:=https%3A%2F%2Fapi.brpsystems.se%2Fbrpgog%2Fpaymentconfirmation (https://api.brpsystems.se/brpgog/paymentconfirmation)
orderid = Beställningens id (Heltal). Erhålls i svaret från BRP:s REST-API när beställningen skapas
paymentmethodid: Id på betalsättet (Heltal). Ej obligatorisk. Om ej satt får kunden välja betalsätt hos betaltjänstleverantören. 
receiptemail: Adress till mottagare av kvittot (Epost). Ej obligatorisk om kund finns på beställningen. Om kund är satt skickas epost både till kunden och till den angivna e-postadressen. Flera receiptemail kan anges, med eller utan kund på beställningen. 
hash: SHA-256 hash. Beräknas på parametrarnas värden samt ett hemligt ord (erhålls från BRP Support). orderid + paymentmethodid(om den skickas med) + receiptemail(om de skickas med) + returnurl + hemligt ord

Exempel: 
orderid=15
returnurl=https://api.brpsystems.se/brpgog/paymentconfirmation (returnurl ska inte vara urlencodad vid beräkning)
hemligt ord: SecretWord (OBS! Exempel på hemligt ord, för att beräkna korrekt hash måste du erhålla ett hemligt ord från BRP Support) 
 
Ger följande sträng att beräkna hash på: 15https://api.brpsystems.se/brpgog/paymentconfirmationSecretWord

Vilket ger följande hash: 71d498b81d3f6c0cf8d05f8c766012d96dec9c21f60ec0ad870040e0c3c3d9c3
 
Exempel 2:
orderid=15
paymentmethodid=100
returnurl=https://api.brpsystems.se/brpgog/paymentconfirmation
hemligt ord: apor
 
Ger följande sträng att beräkna hash på: 15100https://api.brpsystems.se/brpgog/paymentconfirmationapor

Exempel 3:
orderid=15
paymentmethodid=100
receiptemail=mail@to.me
receiptemail=mail@to.other
returnurl=https://api.brpsystems.se/brpgog/paymentconfirmation
hemligt ord: SecretWord
 
Ger följande sträng att beräkna hash på: 15100mail@to.memail@to.otherhttps://api.brpsystems.se/brpgog/paymentconfirmationSecretWord

Här kan du testa hashberäkning: http://www.xorbin.com/tools/sha256-hash-calculator

Efter genomförd betalning anropar BRP given "returnurl" med följande parametrar. 

{returnurl}?receiptid={receiptid}&error={errorCode}
 
returnurl = Angiven retururl i anropet mot forwardtoexternal (se ovan)
receiptid = Kvittots id. Tomt om misslyckad betalning
error = Eventuell felkod från BRP. Se felkoder. Tom vid lyckad betalning


Vid betalning via faktura hos betaltjänstleverantören krävs personnummer och adressuppgifter (e-post eller postadress) på beställaren.

Betala beställning via kundkonto i BRP

Betalar beställningen genom lägga det på beställarens kundkonto alternativt beställarens organisations kundkonto (vilket det blir styrs av parametern "useorgaccount", se nedan). Förutsätter att kundkonto är konfigurerat enligt Kundkonto samt att betalsättet Kundkonto har checkboxen "Använd som internetbetalning" ikryssad. 

Anrop

För att lägga det på beställarens kundkonto alternativt beställarens organisations kundkonto ska websidan gå mot:

GET {BasURL}/external/payment/paywithcustomeraccount?orderid={orderid}&returnurl={returnurl}&useorgaccount=true&hash={hash}
 
orderid = Beställningens id (Heltal). Erhålls i svaret från BRP:s REST-API när beställningen skapas
returnurl = Vilken sida kunden ska omdirigeras till efter genomförd betalning (URL-kodat). Exempel:=https%3A%2F%2Fapi.brpsystems.se%2Fbrpgog%2Fpaymentconfirmation (https://api.brpsystems.se/brpgog/paymentconfirmation)
useorgaccount: Vid "true" används beställarens organisations kundkonto. Vid "false" eller utelämnad används beställarens kundkonto.
hash: SHA-256 hash. Beräknas på parametrarnas värden sorterade i alfabetisk ordning samt ett hemligt ord (erhålls från BRP Support). 
 
Exempel: 
orderid=15
returnurl=https://api.brpsystems.se/brpgog/paymentconfirmation (returnurl ska inte vara urlencodad vid beräkning)
useorgaccount=true
hemligt ord: SecretWord (erhålls från BRP Support). 
 
Ger följande sträng att beräkna hash på: 15https://api.brpsystems.se/brpgog/paymentconfirmationtrueSecretWord

Beräknad hash: 4f095301f3091999baa512c072f86502d5bc17296827ec3b38edb6b4057c0577

 


Betala beställning via faktura i BRP

Skapar en faktura i BRP för beställningen. 

Anrop

För att skapa faktura ska websidan gå mot:

GET {BasURL}/external/payment/brpinvoice?orderid={orderid}&returnurl={returnurl}&hash={hash}
 
orderid = Beställningens id (Heltal). Erhålls i svaret från BRP:s REST-API när beställningen skapas
distributionmethod = Namn på distribueringmetod. Ej obligatorisk. Giltiga värden är "email" och "centralprint21grams". Se Fakturadistribution nedan.
returnurl = Vilken sida kunden ska omdirigeras till efter genomförd betalning (URL-kodat). Exempel:=https%3A%2F%2Fapi.brpsystems.se%2Fbrpgog%2Fpaymentconfirmation (https://api.brpsystems.se/brpgog/paymentconfirmation)
hash: SHA-256 hash. Beräknas på parametrarnas värden sorterade i alfabetisk ordning samt ett hemligt ord (erhålls från BRP Support). 
 
Exempel: 
orderid=15
returnurl=https://api.brpsystems.se/brpgog/paymentconfirmation (returnurl ska inte vara urlencodad vid beräkning)
hemligt ord: SecretWord 
 
Ger följande sträng att beräkna hash på: 15https://api.brpsystems.se/brpgog/paymentconfirmationSecretWord

Beräknad hash: 71d498b81d3f6c0cf8d05f8c766012d96dec9c21f60ec0ad870040e0c3c3d9c3

 

Efter fakturan är skapad anropar BRP given "returnurl" med följande parametrar. 

{returnurl}?invoiceid={invoiceid}&error={errorCode}
 
returnurl = Angiven retururl i anropet mot brpinvoice (se ovan)
invoiceid = Fakturans id. Tomt vid eventuellt fel.
error = Eventuell felkod från BRP. Se felkoder. Tom vid lyckad betalning


  

Fakturadistribution

Det krävs viss konfiguration för fakturadistribution ska fungera. Läs Fakturadistribution för se vad som behöver göras för att komma igång med fakturadistributionen.

Gällande parametern distributionmethod

  • Om "distributionmethod" inte anges kommer fakturan att skapas och hamna i status 1 ("Ej Skickad"). 
  • Om "distributionmethod" anges kommer BRP lägga upp fakturan för distribuering med vald metod. 
  • För "distributionmethod=email" krävs att beställaren har en giltig e-post adress.  
  • För "distributionmethod=centralprint21grams" krävs att beställaren har en giltig adress.   

Betala en faktura skapad i BRP

För att genomföra betalning av faktura ska websidan gå mot:

GET {BasURL}/external/payment/payforinvoice?invoiceid={invoiceid}&hash={hash}&returnurl={returnurl}
 
invoiceid = Fakturans id (Heltal). Erhålls i från BRP:s REST-API
returnurl = Vilken sida kunden ska omdirigeras till efter genomförd betalning (URL-kodat). Exempel:=https%3A%2F%2Fapi.brpsystems.se%2Fbrpgog%2Fpaymentconfirmation (https://api.brpsystems.se/brpgog/paymentconfirmation)
hash: SHA-256 hash. Beräknas på parametrarnas värden sorterade i alfabetisk ordning samt ett hemligt ord (erhålls från BRP Support). 
 
Exempel: 
 
invoiceid=15
returnurl=https://api.brpsystems.se/brpgog/paymentconfirmation (returnurl ska inte vara urlencodad vid beräkning)
hemligt ord: SecretWord 
 
Ger följande sträng att beräkna hash på: 15https://api.brpsystems.se/brpgog/paymentconfirmationSecretWord
Beräknad hash = 71d498b81d3f6c0cf8d05f8c766012d96dec9c21f60ec0ad870040e0c3c3d9c3
 

Efter genomförd betalning anropar BRP en returnurl enligt följande ordning:

  1. "returnurl" given i anropet
  2. returnurl från inställningen "Retur-url för betalning av faktura via kortmedgivande" 
  3. en default returnurl med som visar en alert om betalningen gick bra eller inte. 

Följande parametrar är med i anropet:

{returnurl}?error={errorCode}
 
returnurl = Angiven retururl i anropet mot payforinvoice (se ovan)
error = Eventuell felkod från BRP. Se felkoder. Tom vid lyckad betalning
receiptid = Kvittots id. Tomt om misslyckad betalning

Återkommande kortbetalning

Om beställningen innehåller en produkt som kräver "Återkommande kortbetalning" och betaltjänstleverantören har stöd för detta kommer BRP att lagra information för senare dragningar. Detta kan användas som ett alternativ till autogiro.

Notera: Innehåller beställningen en produkt som kräver "Återkommande kortbetalning" måste betalmetoden vara kortköp.   

Skapa eller uppdatera kortmedgivande

För att skapa eller uppdatera ett kortmedgivande ska websidan gå mot:

GET {BasURL}/external/payment/creatercpmandate?personid={personid}&businessunitid={businessunitid}&returnurl={returnurl}&hash={hash}
 
businessunitid = Anläggningens id (Heltal). Erhålls i från BRP:s REST-API
personid = Personens id (Heltal). Erhålls i från BRP:s REST-API
returnurl = Vilken sida kunden ska omdirigeras till efter genomförd betalning (URL-kodat). Exempel:=https%3A%2F%2Fapi.brpsystems.se%2Fbrpgog%2Fpaymentconfirmation (https://api.brpsystems.se/brpgog/paymentconfirmation)
hash: SHA-256 hash. Beräknas på parametrarna sorterade i alfabetisk ordning samt ett hemligt ord (erhålls från BRP Support). 

Exempel: 
businessunitid=15
personid=67
returnurl=https://api.brpsystems.se/brpgog/paymentconfirmation (returnurl ska inte vara urlencodad vid beräkning)
hemligt ord: SecretWord 
 
Ger följande sträng att beräkna hash på: 1567https://api.brpsystems.se/brpgog/paymentconfirmationSecretWord
Beräknad hash: 92328d9b0474613535b25faddfde29fefc6fcb2f97ae3523a33a8e17e2196798
 
 

 

Efter genomförd uppdatering anropar BRP en returnurl enligt följande ordning:

  1. "returnurl" given i anropet
  2. returnurl från inställningen "Retur-url för uppdatering/skapande av kortmedgivande
  3. en default returnurl med som visar en alert om uppdateringen gick bra eller inte. 

Följande parametrar är med i svars-anropet:

{returnurl}?error={errorCode}
 
returnurl = Angiven retururl i anropet mot updatercpmandate (se ovan)
error = Eventuell felkod från BRP. Se felkoder. Tom vid lyckad uppdatering

Konfigurering av återkommande kortbetalning i BRP

Återkommande kortbetalningar


Betala beställning via Swish

För att genomföra betalningen ska websidan gå mot:

GET {BasURL}/external/payment/swish/payfororder?orderid={orderid}&returnurl={returnurl}&payeralias={payeralias}&hash={hash}
 
returnurl = Vilken sida kunden ska omdirigeras till efter genomförd betalning (URL-kodat). Exempel:=https%3A%2F%2Fapi.brpsystems.se%2Fbrpgog%2Fpaymentconfirmation (https://api.brpsystems.se/brpgog/paymentconfirmation)
orderid = Beställningens id (Heltal). Erhålls i svaret från BRP:s REST-API när beställningen skapas
receiptemail: Adress till mottagare av kvittot (Epost). Ej obligatorisk om kund finns på beställningen. Om kund är satt skickas epost både till kunden och till den angivna e-postadressen. Flera receiptemail kan anges, med eller utan kund på beställningen. 
hash: SHA-256 hash. Beräknas på parametrarnas värden (förutom payeralias), sorterat i alfabetisk ordning på parameternamnet, samt ett hemligt ord (erhålls från BRP Support). 
 
Exempel: 
orderid=15
returnurl=https://api.brpsystems.se/brpgog/paymentconfirmation (returnurl ska inte vara urlencodad vid beräkning)
payeralias=07354254242
hemligt ord: SecretWord (OBS! Exempel på hemligt ord, för att beräkna korrekt hash måste du erhålla ett hemligt ord från BRP Support) 
 
Ger följande sträng att beräkna hash på: 15https://api.brpsystems.se/brpgog/paymentconfirmationSecretWord

Vilket ger följande hash: 71d498b81d3f6c0cf8d05f8c766012d96dec9c21f60ec0ad870040e0c3c3d9c3

 

 

När anropet gjorts visas nedanstående sida för kunden tills ett svar från Swish har erhållits. När svar erhållits redirectas kunden till den returnurl som skickats med i anropet enligt punkt 8 under rubriken Flöde ovan. 

Felkoder

KodInnebörd
9Inställningar i BRP som krävs för angiven betaltjänstleverantör och betalsätt saknas.
10Betalsätt-id saknas i anropet eller angivet betalsätt-id existerar ej .
11Internetkassa saknas på den anläggning som ordern är gjord på (konfiguration).
12Beställnings-id saknas i anropet eller angivet beställnings-id existerar ej.
13Betalsättet är inte konfigurerat för internetköp (konfiguration).
14Betalsättet stöds ej (konfiguration).
15Betalsättet stödjer ej återkommande kortbetalning
100Beställningen saknar anläggningstillhörighet.
101Beställningen är redan debiterad.
102Beställningens pris är noll eller negativt.
103Beställare saknas på beställningen.
104Personnummer saknas vilket krävs för aktuell betalningsmetod.
105

E-postadress alternativt postadress krävs för aktuell betalningsmetod.

106E-postadress krävs för aktuell betalningsmetod.
107Postadress krävs för aktuell betalningsmetod.
108Beställningen tilläts inte att betalas eftersom den innehåller produkter som inte tillåts av Betalningsalternativen (se inställningar).
109Beställningen tilläts inte att bekräftas eftersom den innehåller produkter som inte tillåts av Betalningsalternativen (se inställningar).
110Beställaren försöker betala med ett organisationskonto, men har ingen organisation kopplad i BRP.
111En eller flera produkter har en deltagarlista där deltagarinformation inte angivits.
200Betaltjänstleverantörens egna validering går ej igenom.
201Betalningen slutfördes ej (misslyckades eller avbröts).
202Belopp på beställning och genomförd betalning stämmer ej, transaktionen annuleras.
203Beställningen har tagits bort eller på annat sätt blivit felaktig under tiden som betalningen genomfördes.
204Oväntat svar från betaltjänstleverantöreren
205Betalningen avbröts av kund
206Kortmedgivande kunde ej skapas
207Värdekort, som reserverats för betalning, har ändrats under tiden som betalningen genomfördes
300Faktura saknas.
301Faktura saknar anläggningstillhörighet.
302Fakturans belopp är noll eller negativt.
303Fakturan har tagits bort eller på annat sätt blivit felaktigt under tiden som betalningen genomfördes.
400Felaktig hash
500Kundkontot har inte tillräcklig kredit för att täcka beställningen.
501Kundkontot får inte användas eftersom kunden inte är tillräckligt gammal.
502Kundkontot får inte användas eftersom det saknas medgivande för automatisk dragning.
503Kundkontot får inte användas eftersom det finns en obetald faktura.
504Kundkontot får inte användas eftersom kunden saknar giltig e-postadress.
505Kundkontot får inte användas eftersom kunden inte tillåter det.
506Kundkontot får inte användas eftersom kunden saknar ett Autogiro-abonnemang.
902Swish: Det angivna telefonnummret är inkorret.
  • No labels