SveaWebPay Webservice API. Version 1.3 2012-04-26



Relevanta dokument
SveaWebPay Webservice API Version 1.2

TEKNISK INFORMATION OM SVEAWEBPAY

Teknisk information om SveaWebPay

ANVÄNDARHANDLEDNING FÖR FAKTURAPORTALEN... 2 Allmänt om Fakturaportalen... 2 Obligatoriska fält... 2 Informationstext... 2 Klickbar text...

Filspecifikation. för överföring av fakturor, påminnelser eller inkasso till Visma Collectors via fil. [ Version ]

Handledning. Att skicka elektronisk fristående Svefaktura 1.0 till Landstinget i Östergötland

Integrationsguide Version 2.3. INTEGRATIONSGUIDE Svea Ekonomi / Webpay

Dokumentation om DAK-formatet

PayByBill Betalmoduler v1.09

Handledning. Att skicka elektronisk fristående Svefaktura 1.0 till Region Skåne landsting

Handledning. Att skicka elektronisk fristående Svefaktura 1.0 till Härjedalens kommun

Handledning. Att skicka elektronisk fristående Svefaktura 1.0 via eprinter till Landstinget i Östergötland

Palette. Matchning fakturor mot order - Manual. Version 1.0 /

Handledning. Att skicka elektronisk fristående Svefaktura 1.0 via eprinter till Malmö stad

Handledning för Örebro Kommun

Handledning. Att skicka elektronisk fristående Svefaktura 1.0 till Karlskoga kommun

Handledning. Exder efaktura för Svefaktura 1.0. Expert Systems 2010 Expert Systems kundtjänst: E-post: Tel:

UC API Teknisk referens för UC:s svenska personinformation

Handledning för Stockholms stad

Lathund för webbansökan om utbetalning av beviljat regionalt bidrag till företagsutveckling - investeringsbidrag

Så skickar ni elektroniska fakturor till

Kom igång med Fakturaportalen!

FaktApp. Mobilapplikation för fakturering. Resultat Finans AB

Handledning. Att skicka elektronisk fristående Svefaktura 1.0 via eprinter till Eskilstuna kommun

Add_transaction Det första steget för att komma igång med Klarna konto är att se efter om du använder anropet add_invoice eller add_transaction.

Handledning för Fristående Svefaktura

Om inte denna rekommendation efterföljs kan vi tyvärr inte ge några garantier för att vi kan supportera de problem som då kan uppstå.

Användarmanual. UPS Billing Center

Senast uppdaterat: Exder EDI direktorder sida 1 av 18

ROT/ RUT-avdrag. Innehåll

Kom igång med Fakturaportalen!

teknisk manual Direktbetalning handelsbanken.se/e-handel

1 (9) Teknisk information om SveaWebPay - Dokumentversion 1.0 TEKNISK INFORMATION OM SVEAWEBPAY. Dokumentversion 1.0

Om inte denna rekommendation efterföljs kan vi tyvärr inte ge några garantier för att vi kan supportera de problem som då kan uppstå.

ROT-avdrag. 1. Registrera Grunduppgifter

Visma Administration Severa Integration Fältöverföring

Handledning. Att skicka elektronisk fristående Svefaktura 1.0 via eprinter till Region Skåne landsting

Försäljningsordern finns under Försäljning och marknadsföring Orderbearbetning Order.

Handledning. Att skicka elektronisk fristående Svefaktura 1.0 via eprinter till Karlskoga kommun

UC API Teknisk referens för UC:s svenska företagsinformation

Webservice tjänsten GetPerson Slagning mot befolkningsregister

Användarguide: Pagero Web Portal Skapa och skicka fakturor till Volvo Car SE

Handledning för Västra Götalandsregionen (VGR)

Försäljningsordern finns under Försäljning och marknadsföring Orderbearbetning Order. Orderbilden består av orderhuvud och rader.

MANUAL BISNODE DECISION SUPPORT

Sök Idrottslyftet år 4

Autogiro Online för betalningsmottagare Webbtjänst för dig som erbjuder dina kunder Autogiro

OpusCapita Business Network Portal

Manual. Decision Support

Manual för publicering och administration av gruppaktiviteter inom Landsbygdsprogrammet, uppdaterad

Lathund - Registrering av försäljningsorder AGRESSO Logistik

InTime HTTP API. Översikt funktioner. Webbtjänster för systemintegration med InTime Messenger.

Krav på webbläsare. Manual för arbetslöshetkassorna. De webbläsare som är kompatibla med portalen är minst Internet Explorer 6.x och Firefox 2.

ABB AB Instruction. Prepared: Prepared date: Approved: Approved date: Lang: Revision Page:

BEHANDLINGSREGLER. för. e-tullräkning

InExchange Web. En handledning för fakturaregistrering

Så skickar ni elektroniska fakturor till JM AB. Basware Corporation Copyright Basware Corporation All rights reserved

Kommunikationsalternativ för elektroniska dokument (EDI)

Användarguide: Pagero Free Web Portal Skapa och skicka fakturor

Handledning. Att skicka elektronisk fristående Svefaktura 1.0 via eprinter till Sigtuna kommun

Användarmanual PayEx Butikskonto

DHL subset av SFTI Svefaktura

Garantianspråk. Manual

Manual Fortus Faktura

Detta dokument beskriver hur du ansöker om ett ID06 konto hos Areff.

Exempel1 Enklast möjliga import av kund

Handledning. Att skicka elektronisk fristående Svefaktura 1.0 via eprinter Apoteket Farmaci

InExchange Web. En guide för fakturaregistrering. Genvägar

ABBs leverantörsfakturaportal. Handledning - Användare. Version: 1.0 Datum:

Fakturering & Kundreskontra

Rödmarkerade tillägg i denna version bör kollas upp. Svefakturor i Utökad version.

Handledning för Exder eprinter

Börja med Smart Registrera din kund Registrera din artikel Göra en faktura... 16

Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1.

Användarhandledning ICA Torget

Fakturaportalen Axfood Administrationsgränssnittet

Handledning. Att skicka elektronisk fristående Svefaktura 1.0 till Eskilstuna kommun

Handledning. Att skicka elektronisk fristående Svefaktura 1.0 till Sigtuna kommun

Handledning. Att skicka elektronisk fristående Svefaktura 1.0 till Malmö stad

Lathund. Manuell fakturering i Tandvårdsfönster

Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan.

Leverantörsportalen Användarguide

Handledning. Att skicka elektronisk fristående Svefaktura 1.0 till Säljdag Intention AB

Bilaga 3 Faktureringsrutiner Dnr: /

Dokumentation. Ver Sida 1

Det här dokumentet går kortfattat igenom registrerings- och ansökningsprocessen.

Inköpsorder finner man under Inköp Orderbearbeting Order.

Sedan klickar du på Skapa rapport.

Pengaktuellt. Nr september 2008

Vi hjälper allt från små företag till stora koncerner att ta hand om och effektivisera de ekonomiska processerna från beställning till betalning.

Arbetsgången för Husarbete i Small Office Fakturering

Faktura/Saldobesked Gränssnittsdokumentation. Version 5.1

Handledning. Att skicka elektronisk fristående Svefaktura 1.0 via eprinter

Dokumentation. Ver Sida 1

Lathund Elektronisk fakturahantering

Senast uppdaterat: Fakturaportalen administrationsgränssnitt sida 1 av 18

Individ- och Familje omsprg. Färdtjänst. Kundregister. Kundreskontra. Fakturering Från försystem. Fil till volymprinting, e-faktura, Autogiro

Användarguide: Pagero Web Portal Skapa och skicka fakturor

Lathund för Relation Bokningssystem

Den fjärde är data_list som är en vektor av information med själva meddelanden. Rubriken O står för obligatoriskt fält.

Transkript:

SveaWebPay Webservice API Version 1.3 2012-04-26

Innehåll Innehåll... 1 Historik... 2 Översikt... 3 Webservicefunktioner... 4 Gemensamt för alla request-objekt... 4 Gemensamt för alla response-objekt... 4 CreateOrder... 5 CreateInvoice... 6 CloseOrder... 8 CreatePaymentPlan... 8 CancelPaymentPlan... 9 ApprovePaymentPlan... 10 GetAddresses... 10 GetContractPdf... 11 GetPaymentPlanOptions... 11 GetPaymentPlanParams... 12 ChangeOrderInfo... 13 Strukturer... 14 ClientAuthInfo... 14 ClientOrderInfo... 14 CreditReportCustomer... 15 ClientInvoiceInfo... 15 ClientInvoiceRowInfo... 16 ClientPaymentPlanInfo... 16 CustomerAddress... 17 PaymentPlanOption... 17 CampainCodeInfo... 18 CountryCode... 19 Exempel... 19 Användande av GetPaymentPlanParams... 19 Lån... 20 1

Historik 2012-04-26: Lade till information om hur matchningen av orderrader vid leverans av faktura sker. Finns under strukturen ClientInvoiceRowInfo. 2012-04-02: Mer stavningskorrigering. Lade till information om hur man använder GetPaymentPlanParams för att visa lägst belopp att betala för en person. 2012-03-30: Korrigerat stavfel. Förenklat och klargjort funktion dokumentation. Uppdaterat dokumentationen för ChangeOrderInfo. 2012-03-29: Används som ny bas för framtida dokumentation av SveaWebPays APIer. 2

Översikt Webservicen nås via: Produktion: https://webservices.sveaekonomi.se/webpay/sveawebpay.asmx Test: https://webservices.sveaekonomi.se/webpay_test/sveawebpay.asmx Det är hit anrop till webservicefunktionerna ska göras. Anrop ska ske över http-protokollet, med XML-formaterad data som inparameter (request-objekt). Anrop resulterar i ett response-objekt. Se vidare under rubriken "Exempel". Det finns för närvarande följande webservicefunktioner: 1. ApprovePaymentPlan 2. CancelPaymentPlan 3. ChangeOrderAmount 4. ChangeOrderInfo 5. CloseOrder 6. CreateInvoice 7. CreateOrder 8. CreatePaymentPlan 9. GetAddresses 10. GetContractPdf 11. GetPaymentPlanOptions 12. GetPaymentPlanParams Target namespace är: https://webservices.sveaekonomi.se/webpay/ Soap action (<Target Namespace>/<Metodnamn> ) Exempel: https://webservices.sveaekonomi.se/webpay/createorder WSDL-fil hittas på följande adress: Produktion: https://webservices.sveaekonomi.se/webpay/sveawebpay.asmx Test: https://webservices.sveaekonomi.se/webpay_test/sveawebpay.asmx Notera att target namespace är samma för produktion och test. Tänk på att fakturor och betalplaner har olika nummerserier för sina identifikationsnummer. Om de blandas kommer det inte att fungera. Vid eventuella frågor som rör integration mot SveaWebPay, skicka ett e-post meddelande till: support-webpay@sveaekonomi.se 3

Webservicefunktioner Förkortningar i fältrubriker: U = Unik O = Obligatorisk Typer: o String: Vanlig text. o Integer: Heltal Till exempel 2, 10, -95. 32-bitars precision. o Long: Ett heltal med 64-bitars precision. o Double: Ett decimaltal. Till exempel 10,2 eller 25,3243. o Decimal: Ett decimaltal med högre precision än Double. En parentes efter typen påvisar en begränsning i data längden. T.ex. String(4) betyder att texten får vara längst 4 tecken. Och Integer(2) betyder att det är två siffror på heltalet. En parentes efter Decimal eller Double betyder längden är första värdet och antalet decimaler är andra. T.ex. Decimal(4,2) är 4 siffror varav två decimaler. Gemensamt för alla request-objekt Alla request-objekt har fältet Auth med strukturen ClientAuthInfo som ska innehålla era inloggningsuppgifter. Följaktligen ska alla anrop mot SveaWebPay innehålla inloggningsuppgifter. Auth * ClientAuthInfo Inloggningsuppgifter Gemensamt för alla response-objekt Alla response-objekt har en gemensam struktur för hur de presenterar resultatet av en förfrågan. Accepted * Boolean True om förfrågan accepterades, False annars. RejectionCode Enumeration, olika för olika request-typer. Alla har dock koderna Accepted och Error. Endast intressant när accepted=false. Anger då mer information om varför förfrågan inte accepterades. ErrorMessage String När RejectionCode = Error så anges här ett felmeddelande. 4

CreateOrder Skapar en ny fakturaorder. Funktionen går igenom ett antal steg för att kontrollera om ordern bör godkännas. Följande felkoder kan fås tillbaka. Värde på RejectionCode CusomterCreditRejected CustomerOverCreditLimit CustomerAbuseBlock OrderExpired ClientOverCreditLimit OrderOverSveaLimit OrderOverClientLimit CustomerSveaRejected CustomerCreditNoSuchEntity Tolkning Avslag på kreditupplysningen. Ordern skulle placera kunden över kreditgränsen hos Er eller SveaWebPay. Kunden är blockerad eller har uppvisat ett märkligt/ovanligt beteende. Inte i bruk. Ordern skulle placera uppdragsgivaren över kreditgränsen hos SveaWebPay. Ordern överstiger det högsta tillåtna orderbeloppet hos SveaWebPay. Ordern överstiger det högsta tillåtna orderbeloppet hos Er. Kunden har dålig historik hos SveaWebPay. Kunden finns inte hos kreditupplysningsleverantören. IN: CreateOrderRequest Order * ClientOrderInfo Information om ordern/kunden. InvoiceRows * Array av ClientInvoiceRowInfo Här bör alla rader som kan tänkas faktureras skickas in. Information om vilka fält som ingår i beräkningen av radsumman framgår i dokumentationen för ClientInvoiceRowInfo. UT: CreateOrderResponse SveaOrderNr * * Long Order hos SveaWebPay. Används vid framtida referenser till denna order. WillBuyInvoices * Boolean För avtalsformer där bara vissa fakturor köps talar denna flagga om ifall den preliminära bedömningen är att fakturor på denna order kommer att köpas. AuthorizeId * Long Unikt id för den (eventuella) kreditupplysningen som låg till grund för beslutet. AuthorizedAmount Double Orderns godkända faktureringsbelopp. (Endast vid Accepted=True) ValidCustomer CreditReportCustomer (Endast vid Accepted=True) Innehåller information om kunden från kreditupplysningen. Detta är bland annat den adress vi kommer att skicka fakturan till. 5

CreateInvoice Skapar en faktura eller en kreditfaktura på en order. Ordern måste vara aktiv, ej utgången och ha tillräckligt återstående fakturautrymme. (Kreditering kan göras även på en stängd order) Observera: Vid kreditering av en order ska exakt samma orderrader som användes vid fakturaskapandet användas. Om anropet mot tjänsten innehåller orderrader med en total negativ summa kommer funktionen att returnera ett felmeddelande. Värde på RejectionCode NotAuthorized Expired OverAuthorizedAmount OrderIsClosed CreditInvoiceNotInOrder CreditAmountTooHigh Tolkning Ordern saknar godkänd kreditupplysning. Ordern är för gammal. (En order går ut efter 60 dagar som standard.) Fakturabeloppet är större än det fakturautrymme som finns på ordern. Ordern är stängd. Den faktura som försöks krediteras tillhör inte den aktuella ordern. Beloppet som försöks krediteras är för stort. IN: CreateInvoiceRequest SveaOrderNr * * Long SveaWebPays ordernummer. Invoice * ClientInvoiceInfo De orderrader som ni vill leverera. Matcha med de som skickades in i CreateOrder för att leverera hela ordern som en faktura. Annars levereras de inskickade orderraderna som en delleverans. UT: CreateInvoiceResponse InvoiceNumber * Long Unikt fakturanummer vid Accepted=true annars nil. Duedate Datum Förfallodatum vid Accepted=true annars nil. PdfLinkIncluded * Boolean True om fakturalänk finns annars false. PdfLink String Länk till faktura. OcrPaymentAccountNumber String Inte i bruk. InvoiceAmount * Double Totala fakturabeloppet. InvoiceAmountCheckDigit String Inte i bruk. BoughtInvoiceText String Inte i bruk. OcrReference String Inte i bruk. 6

7

CloseOrder Stänger en order. Detta bör göras efter sista faktureringen. På en stängd order kan endast kreditfakturor skapas. Värde på RejectionCode OrderAlreadyClosed Error Accepted Tolkning Ordern är redan stängd. Generellt fel, läs ErrorMessage för mer information. IN: CloseOrderRequest SveaOrderNr * * Long SveaWebPays ordernummer. UT: CloseOrderResponse Inga ytterligare CreatePaymentPlan Skapar en betalningsplan. PaymentPlan är ett begrepp för ett belopp som ska betalas i delar över tid. Kan t.ex. representera ett lån eller en delbetalning av en köpt vara. Innan en PaymentPlan skapas görs en kreditprövning. Värde på RejectionCode CustomerCreditRejected CustomerOverCreditLimit CustomerAbuseBlock ClientOverCreditLimit PaymentPlanIsCancelled OverOrderLimit CustomerSveaRejected CustomerCreditNoSuchEntity InvalidCampainCodeAmountCombination Tolkning Avslag på kreditupplysningen. Kreditgränsen överskriden. Kunden är blockerad eller har uppvisat ett märkligt/ovanligt beteende. Uppdragsgivarens kreditgräns överskriden. Betalningsplanen är stängd. Kreditgränsen för enstaka lån är överskriden. Avslag på grund av kredithistorik hos SveaWebPay. Personen/Företaget finns inte i kreditupplysningsföretagets register. Kombinationen av kampanjkod och belopp är felaktig. Kan inträffa t.ex. om kampanjkoden som anges inte finns eller om det angivna beloppet är för högt eller för lågt för den specificerade kampanjkoden. IN: CreatePaymentPlanRequest InvoiceRows ClientInvoiceRowInfo Struktur som innehåller fakturarader. Används för att räkna fram lånebeloppet (Används endast vid delbetalning.) Amount * Double Begärt lånebelopp. (Används endast vid lån.) PaymentPlan * ClientPaymentPlanInfo Struktur som innehåller information som behövs för att skapa en betalningsplan. 8

UT: CreatePaymentPlanResponse SveaPaymentPlanNr * * Long Unik identifierare för betalningsplanen hos SveaWebPay. AuthorizedAmount Double Godkänd summa. ContractNumber Long Avtalsnummer. ContractNumberIncluded Boolean Anger om ett avtalsnummer finns med i svaret. I fallet lån skapas avtalet upp direkt och ett avtalsnummer skickas med i svaret. I fallet delbetalning skapas avtalsnumret först när avtalet godkänns med ApprovePaymentPlan. ValidCustomer CreditReportCustomer Struktur som innehåller kundinformation från kreditupplysningen. CancelPaymentPlan Avbryter en skapad men icke ännu godkänd betalningsplan. Aktiverade betalningsplaner kan endast avbrytas genom kontakt med SveaWebPay kundtjänst. Värde på RejectionCode PaymentPlanDoesNotExist WrongStatus Tolkning Den specificerade betalplanen existerar inte. Betalningsplanen har en status som gör att det inte är tillåtet att stänga den. IN: CancelPaymentPlanRequest SveaPaymentPlanNr * * Long Unik identifierare för betalningsplanen. UT: CancelPaymentPlanResponse Inga ytterligare 9

ApprovePaymentPlan Det går bara att godkänna en betalningsplan via denna funktion om den representerar en delbetalning. Lån kan endast godkännas av SveaWebPay. Värde på RejectionCode PaymentPlanDoesNotExist WrongStatus Tolkning Betalningsplanen existerar inte. Betalningsplanen har en status som gör att det inte är tillåtet att godkänna den. IN: ApprovePaymentPlanRequest SveaPaymentPlanNr * * Long Unik identifierare för betalningsplanen. UT: ApprovePaymentPlanResponse ContractNumber Long Avtalsnummer om det finns något. GetAddresses Om en kund har flera adresser kan GetAddresses användas för att få en lista över dessa. Denna funktion är fungerar endast när CountryCode är Sverige (SE), Norge (NO) eller Danmark (DK). Detta används i fall när Värde på RejectionCode Accepted NoSuchEntity Tolkning Adress(er) finns. Ingen adress hittades. IN: GetCustomerAddressesRequest IsCompany * Boolean True om det är ett företag. False för privatpersoner. CountryCode * String Sökta kundens landskod. SecurityNumber * * String Sökta kundens Personnummer eller organisationsnummer. UT: GetCustomerAddressesResponse RejectionCode * Enumeration Error Accepted NoSuchEntity Addresses * Array av CustomerAddress Struktur som innehåller kunduppgifter. 10

GetContractPdf Om en betalningsplan representerar ett lån kan man anropa denna funktion och få tillbaka ett kontraktsdokument i PDF-format. Dokumentets (filens) data återfinns i fältet FileBinaryDataBase64. Värde på RejectionCode PaymentPlanDoesNotExist WrongStatus ContractExpired Tolkning Betalningsplanen finns inte. Betalningsplanen har en status som gör att det inte är tillåtet att hämta PDF. Tidsfristen för att godkänna kontraktet har löpt ut. Det går därför inte att hämta PDF. IN: GetContractPdfRequest SveaPaymentPlanNr * * Long Unik identifierare för betalningsplanen. UT: GetContractPdfResponse FileLengthInBytes Long Mängden fildata i bytes. FileBinaryDataBase64 String Fildata (Base64 encoded) som representerar PDF filen. GetPaymentPlanOptions Returnerar en lista med avbetalningsalternativ för begärt lånebelopp. Notera att om det inte finns några alternativ alls för angivet belopp så blir svaret Accepted = True och InvoiceRows är en tom array. IN: GetPaymentPlanOptionsRequest Amount Double Begärt lånebelopp. (Används endast vid lån.) InvoiceRows Array av ClientInvoiceRowInfo Struktur som innehåller faktura - rader. Används för att räkna fram lånebeloppet. (Används endast vid delbetalning.) UT: GetPaymentPlanOptionsResponse PaymentPlanOptions Array av PaymentPlanOption Avbetalningsalternativ för ett givet lånebelopp. Amount Double Begärt lånebelopp. 11

GetPaymentPlanParams Returnerar en lista med avbetalningsinformation. Används med fördel när man vill visa delbetalningsalternativ för kunden på enskilda produkter. Eftersom Kampanj-informationen som är bunden till en enskild kampanjkod endast kan ändras en gång per dygn så kan man med fördel lagra dessa värden lokalt för snabbare uträkningar. Se Användande av GetPaymentPlanParams för mer information. IN: GetPaymentPlanParamsRequest Innehåller endast inloggningsinformation. UT: GetPaymentPlanParamsResponse CampainCodes Array av CampainCodeInfo Avbetalningsinformation. 12

ChangeOrderInfo Denna funktion används för att ändra icke-kritiska uppgifter på fakturor och betalplaner. Genom att specificera ett SveaOrderNr eller ett SveaPaymentPlanNr så kan man ändra en faktura respektive betalplan. Om SveaOrderNr är specificerat kan man ändra ClientOrderNr samt CustomerReference. Om SveaPaymentPlanNr är specificerat kan man endast ändra ClientOrderNr. För att ändra ett värde på en order måste fältet ChangeX vara flaggat med True samt NewX måste ha ett godkänt värde. Där X är en variable man vill ändra på (ClientOrderNr eller CustomerReference ) IN: ChangeOrderInfoRequest SveaOrderNr * Integer Unikt id för en fakturaorder. SveaPaymentPlanNr * Integer Unikt id för en betalningsplanorder. ChangeClientOrderNr * Boolean Ändra ClientOrderNr? NewClientOrderNr String(30) Nytt ClientOrderNr ChangeCustomerReference * Boolean Ändra CustomerReference? NewCustomerReference String(30) Nytt ClientOrderNr UT: ChangeOrderInfoResponse RejectionCode RejectionCode Felmeddelande Värde på RejectionCode Error Accepted OrderDoesNotExist Tolkning Fel på anrop. Se ErrorMessage för mer information. Specificerade fält uppdaterade. Specificerad fakturaorder eller betalningsplan finns inte. 13

Strukturer ClientAuthInfo Innehåller den inloggningsinformation som är gemensam för alla anrop mot tjänsten. ClientNumber * Integer(7) Uppdragsgivarnummer. Fås från SveaWebPay. Username * String(80) Användarnamn. Fås från SveaWebPay. Password * String(50) Lösenord. Fås från SveaWebPay. ClientOrderInfo Innehåller information från Er om kunden och ordern. ClientOrderNr String(30) Ert ordernummer. CustomerReference String(30) Faktura referens. OrderDate Date Orderdatum. CountryCode * String(2) Landskod. (Land som kunden finns i. ) Se CountryCode-tabell för godkända värden. SecurityNumber * String(12) Personnummer eller organisationsnummer. (Beroende på IsCompany) IsCompany * Boolean True om det är ett företag. False för privatpersoner. CustomerEmail String(50) E-postadress till kunden. Tvingande vid distributionssättet e-post. PreApprovedCustomerId Integer(10) Om funktionen med förgodkända storkunder används så skickas deras kundnummer med här när de handlar. Utelämnas eller sätts till noll i övriga fall. AddressSelector * String Unik identifierare till den adress som ska användas. 14

CreditReportCustomer Innehåller den information som skickas tillbaka om kunden när en kreditupplysning tagits. LegalName * String(60) Fullständigt namn. SecurityNumber * String(12) Person- eller organisationsnummer. AddressLine1 * String(40) Namn. AddressLine2 * String(40) Gatuadress. Postcode * Integer(5) Postnummer. Postarea * String(25) Postort. BusinessType * Enumeration Person Business Unknown GovernmentalOrganization Organization ClientInvoiceInfo Innehåller information från Er om den aktuella fakturan. NumberOfCreditDays * Integer Antal dagar mellan fakturadatum och förfallodatum. InvoiceDistributionForm * Enumeration Post Via brev. Email Via e-post. (Faller över på Post automatiskt om ingen epostadress angivits i CreateOrder.) InvoiceNrToCredit Long Om något anges här så blir det en kredit på denna faktura, annars en vanlig faktura. Kreditering går även att göra på en stängd order. Den faktura som krediteras måste tillhöra aktuell order. InvoiceRows * Array av ClientInvoiceRowInfo Fakturarader. 15

ClientInvoiceRowInfo Beräkningen av radbeloppet går till som följer: 1. RadbeloppExMoms = Round(Round(NrOfUnits) * Round(PricePerUnit)) * (1-DiscountPercent/100)) 2. Radmoms = Round(RadbeloppExMoms*Moms/100) 3. TotalbeloppRad = Round(RabeloppExMoms + Radmoms) Där Round avser avrundning till två decimaler. Vid matchning av orderraderna (vid fakturaleverans) så måste följande fält vara identiska för att orderraden skall uppfattas som samma. ArticleNr Description NrOfUnits PricePerUnit Unit VatPercent DiscountPercent ArticleNr String(10) Artikelnummer. Description String(40) Namn eller kort beskrivande text. PricePerUnit * Double(11,2) Pris/enhet. NrOfUnits * Double(7,2) Antal enheter. Unit String(3) Enhet. VatPercent * Integer(2) Anges i procent(0-99). DiscountPercent * Integer(2) Anges i procent(0-99). ClientOrderRowNr String Inte i bruk. ClientPaymentPlanInfo SendAutomaticGiropayment Boolean Form Avgör om en autogiroblankett ska skickas ut med första inbetalningsavin. CampainCode * Long Kampanjkoden som i kombination med lånebeloppet avgör avtalsvillkoren. Fås från GetPaymentPlanOptions. ClientPaymentPlanNr String Bör vara id:t på lånet i ert system. Används för att kunna hitta den i administrationssystemet även om man bara vet ert id. CustomerReference String Kundreferens. CountryCode * String(2) Landskod. Se CountryCode-tabell för godkända värden. SecurityNumber * * String Organisationsnummer eller personnummer. CustomerEmail String(50) Kundens e-postadress. CustomerPhoneNumber String(18) Kundens telefonnummer. IsCompany * Boolean Avgör om SecurityNumber 16

representerar en privatperson eller ett företag. CustomerAddress LegalName * String Kundens för- och efternamn. SecurityNumber * String Kundens person eller organisationsnummer. PhoneNumber String Kundens telefonnummer. AddressLine1 * String Kundens adress. AddressLine2 * String Kundens co. adress. PostCode * Integer Kundens postnummer. PostArea * String Kundens postadress. BusinessType * Enumeration Person Business Unknown GovernmentalOrganization Organization AddressSelector * String Unik identifierare för varje adress. FirstName String Kundens förnamn. LastName String Kundens efternamn. PaymentPlanOption Representerar ett avbetalningsalternativ för ett givet lånebelopp. CampainCode * Long En kampanjkod är en uppsättning avtalsvillkor som sätts upp av SveaWebPay och som i kombination med ett lånebelopp är det som behövs för att göra en betalplansansökan. Description * String Beskriver kampanjkoden i klartext. Kan vara t ex Räntefritt 12 månader. PaymentPlanType * PaymentPlanTypeCode Standard: Vanligt annuitetslån. InterestFree: Räntefritt annuitetslån. InterestAndAmortizationFree : Ränte- och amorteringsfritt lån. Betyder I praktiken att standardvillkoret är att man bara gör en betalning på hela beloppet vid slutet av den ränteoch amorteringsfira perioden. ContractLengthInMonths * Integer Avtalslängd i månader. MonthlyAnnuity * Double Månadsbetalning. (Aviseringsavgiften är inte inräknad) Används inte i fallet 17

InterestAndAmortizationFree eftersom det då bara är en betalning. InitialFee * Double Uppläggningsavgift. Betalas vid första betalningstillfället. NotificationFee * Double Aviseringsavgift som tas ut vid varje betalningstillfälle. InterestRatePercent * Double Årsränta i procent. EffectiveInterestRatePercent * Double Effektivränta i procent. Vi rekommenderar er att inte visa effektivräntan i kassan och per produkt, då denna kan bli väldigt hög vid låga belopp. Vi föreslår att ni visar upp färdiga exempel istället. NrOfInterestFreeMonths * Integer Antal räntefria månader. NrOfPaymentFreeMonths * Integer Antal avbetalningsfria månader. CampainCodeInfo Representerar avbetalningsinformation. CampainCode * Long En kampanjkod är en uppsättning avtalsvillkor som sätts upp av SveaWebPay och som i kombination med ett lånebelopp är det som behövs för att göra en låneansökan. Description * String Beskriver kampanjkoden i klartext. Kan vara t.ex. Räntefritt 12 månader PaymentPlanType * PaymentPlanTypeCode Standard: Vanligt annuitetslån. InterestFree: Räntefritt annuitetslån. InterestAndAmortizationFree : Ränte- och amorteringsfritt lån. Betyder i praktiken att standardvillkoret är att man bara gör en betalning på hela beloppet vid slutet av den ränteoch amorteringsfria perioden. ContractLengthInMonths * Integer Avtalslängd i månader. MonthlyAnnuityFactor * Double Del av summan som ska betalas varje månad. Ta totala summan multiplicerat med detta värde för att få tillbaka rätt värde. InitialFee * Double Uppläggningsavgift. Betalas vid första betalningstillfället. NotificationFee * Double Aviseringsavgift som tas ut vid varje betalningstillfälle. InterestRatePercent * Double Årsränta i procent. 18

NrOfInterestFreeMonths * Integer Antal räntefria månader. NrOfPaymentFreeMonths * Integer Antal avbetalningsfria månader. FromAmount * Double Lägsta summa som kampanjkoden gäller för. ToAmount * Double Högsta summa som kampanjkoden gäller för. Enumerationer: CountryCode Land SE NO DK FI Värde Sverige Norge Danmark Finland Exempel: Användande av GetPaymentPlanParams istället för GetPaymentPlanOptions Fördelen med att använda GetPaymentPlanParams jämfört med att köra GetPaymentPlanOptions är att det inte sker några uträkningar hos SveaWebPay vilket kan snabba upp sidan där anropet exekveras. Om man använder GetPaymentPlanOptions så får man visserligen dessa uträkningar i svaret från SveaWebPay. Detta är inget som vi rekommenderar eftersom det tar tid att göra anropet mot SveaWebPay samt att vid små värden så riskerar man att inte få något svar. Detta är för att GetPaymentPlanOptions räknar ut effektivräntan och vid ett litet fakturabelopp blir effektivräntan extremt hög vilket gör att tjänsten returnerar fel. Exempel: Du har en produkt som kostar 129: - och vill visa en liten ruta på din sida där kunden kan se minsta delbetalningsbelopp att betala. På morgonen kör servern GetPaymentPlanParams och cachea värdena. Börja med att sortera ut de kampanjerna som passar med produktvärdet. I detta fall är det endast följande kampanjkod som passar på produkten: <CampainCodeInfo> <CampainCode>999999</CampainCode> <Description>Dela upp betalningen på 24 månader</description> <PaymentPlanType>Standard</PaymentPlanType> <ContractLengthInMonths>24</ContractLengthInMonths> <MonthlyAnnuityFactor>0.050020791054524637</MonthlyAnnuityFactor> <InitialFee>0</InitialFee> <NotificationFee>29</NotificationFee> 19

<InterestRatePercent>18.2</InterestRatePercent> <NrOfInterestFreeMonths>0</NrOfInterestFreeMonths> <NrOfPaymentFreeMonths>0</NrOfPaymentFreeMonths> <FromAmount>1</FromAmount> <ToAmount>30000</ToAmount> </CampainCodeInfo> Lägsta beloppet för kunden att betala blir då 129 * 0.05 + 29 = 35,45 och sen avrunda uppåt -> 36 kronor per månad. ( ProductPrice * MonthlyAnnuityFactor + NotificationFee ) Om man vill få ut totalbeloppet som ska betalas så tar man: InitialFee + (ProductPrice * MonthlyAnnuityFactor + NotificationFee) *ContractLengthInMonths. Vilket i detta exempel blir: 0 + Round(129 * 0.05 + 29) * 24 => 36 * 24 = 864. Lån Grundprocess: 1. Hämta PaymentPlanOptions för lånebeloppet. Anropa GetPaymentPlanOptionsRequest 2. Skapa PaymentPlan. Välj en kampanjkod från föregående steg och anropa: CreatePaymentPlan 3. Hämta kontraktet för lånet. Anropa: GetContractPdf Om du vill stänga ett lån som ännu inte godkänts. Anropa: CancelPaymentPlanRequest GetPaymentPlanOptionsRequest: <?xml version="1.0" encoding="utf-8"?> <soap:envelope xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:body> <GetPaymentPlanOptions xmlns="https://webservices.sveaekonomi.se/webpay"> <request> <Auth> <ClientNumber>54900</ClientNumber> <Username>SomeName</Username> <Password>SomePassword</Password> </Auth> <Amount>11000</Amount> </request> </GetPaymentPlanOptions> </soap:body> </soap:envelope> GetPaymentPlanOptionsResponse: <?xml version="1.0" encoding="utf-8"?> <soap:envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:xsd="http://www.w3.org/2001/xmlschema"> <soap:body> 20

<GetPaymentPlanOptionsResponse xmlns="https://webservices.sveaekonomi.se/webpay"> <GetPaymentPlanOptionsResult> <Accepted>true</Accepted> <PaymentPlanOptions> <PaymentPlanOption> <CampainCode>210012</CampainCode> <Description>12 Mån lån</description> <PaymentPlanType>Standard</PaymentPlanType> <ContractLengthInMonths>12</ContractLengthInMonths> <MonthlyAnnuity>1019</MonthlyAnnuity> <InitialFee>500</InitialFee> <NotificationFee>35</NotificationFee> <InterestRatePercent>20</InterestRatePercent> <EffectiveInterestRatePercent>42</EffectiveInterestRatePercent> <NrOfInterestFreeMonths>0</NrOfInterestFreeMonths> <NrOfPaymentFreeMonths>0</NrOfPaymentFreeMonths> </PaymentPlanOption> <PaymentPlanOption> <CampainCode>210024</CampainCode> <Description>24 Mån lån</description> <PaymentPlanType>Standard</PaymentPlanType> <ContractLengthInMonths>24</ContractLengthInMonths> <MonthlyAnnuity>560</MonthlyAnnuity> <InitialFee>500</InitialFee> <NotificationFee>35</NotificationFee> <InterestRatePercent>20</InterestRatePercent> <EffectiveInterestRatePercent>36.23</EffectiveInterestRatePercent> <NrOfInterestFreeMonths>0</NrOfInterestFreeMonths> <NrOfPaymentFreeMonths>0</NrOfPaymentFreeMonths> </PaymentPlanOption> <PaymentPlanOption> <CampainCode>210036</CampainCode> <Description>36 Mån lån</description> <PaymentPlanType>Standard</PaymentPlanType> <ContractLengthInMonths>36</ContractLengthInMonths> <MonthlyAnnuity>409</MonthlyAnnuity> <InitialFee>500</InitialFee> <NotificationFee>35</NotificationFee> <InterestRatePercent>20</InterestRatePercent> <EffectiveInterestRatePercent>33.96</EffectiveInterestRatePercent> <NrOfInterestFreeMonths>0</NrOfInterestFreeMonths> <NrOfPaymentFreeMonths>0</NrOfPaymentFreeMonths> </PaymentPlanOption></PaymentPlanOptions> <Amount>11000</Amount></GetPaymentPlanOptionsResult> </GetPaymentPlanOptionsResponse> </soap:body> </soap:envelope> 21

CreatePaymentPlanRequest: <?xml version="1.0" encoding="utf-8"?> <soap:envelope xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:body> <CreatePaymentPlan xmlns="https://webservices.sveaekonomi.se/webpay"> <request> <Auth> <ClientNumber>54900</ClientNumber> <Username>SomeName</Username> <Password>SomePassWord</Password> </Auth> <Amount>2000</Amount> <PayPlan> <SendAutomaticGiropaymentForm>false</SendAutomaticGiropaymentForm> <CampainCode>210012</CampainCode> <ClientPaymentPlanNr>plan-1</ClientPaymentPlanNr> <CustomerReference>12456</CustomerReference> <CountryCode>SE</CountryCode> <SecurityNumber>010730-2773</SecurityNumber> <CustomerEmail></CustomerEmail> <IsCompany>false</IsCompany> </PayPlan> </request> </CreatePaymentPlan> </soap:body> </soap:envelope> CreatePaymentPlanResponse: <?xml version="1.0" encoding="utf-8"?> <soap:envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:xsd="http://www.w3.org/2001/xmlschema"> <soap:body> <CreatePaymentPlanResponse xmlns="https://webservices.sveaekonomi.se/webpay"> <CreatePaymentPlanResult> <Accepted>true</Accepted> <RejectionCode>Accepted</RejectionCode> <SveaPaymentPlanNr>157</SveaPaymentPlanNr> <AuthorizedAmount>2000</AuthorizedAmount> <ContractNumber>100004</ContractNumber> <ContractNumberIncluded>true</ContractNumberIncluded> <ValidCustomer> <LegalName>Test Person</LegalName> <SecurityNumber>0107302773</SecurityNumber> <AddressLine2>Testvägen 4</AddressLine2> 22

<Postcode>64732</Postcode> <Postarea>Mariefred</Postarea> <BusinessType>Person</BusinessType> </ValidCustomer> </CreatePaymentPlanResult> </CreatePaymentPlanResponse> </soap:body> </soap:envelope> GetContractPdfRequest: <?xml version="1.0" encoding="utf-8"?> <soap:envelope xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:body> <GetContractPdf xmlns="https://webservices.sveaekonomi.se/webpay"> <request> <Auth> <ClientNumber>54900</ClientNumber> <Username>SomeName</Username> <Password>SomePassWord</Password> </Auth> <SveaPaymentPlanNr>157</SveaPaymentPlanNr> </request> </GetContractPdf> </soap:body> </soap:envelope> GetContractPdfResponse: <?xml version="1.0" encoding="utf-8"?><soap:envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:xsd="http://www.w3.org/2001/xmlschema"> <soap:body> <GetContractPdfResponse xmlns="https://webservices.sveaekonomi.se/webpay"> <GetContractPdfResult> <Accepted>true</Accepted> <RejectionCode>Accepted</RejectionCode> <FileLengthInBytes>230040</FileLengthInBytes> <FileBinaryDataBase64>JVBERi0xDIvSUQgWzwzMjRhYWJkNGVlN2QzNDZkYj...more...</File BinaryDataBase64> </GetContractPdfResult> </GetContractPdfResponse> </soap:body> </soap:envelope> 23

CancelPaymentPlanRequest: <?xml version="1.0" encoding="utf-8"?> <soap:envelope xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:body> <CancelPaymentPlan xmlns="https://webservices.sveaekonomi.se/webpay"> <request> <Auth> <ClientNumber>54900</ClientNumber> <Username>SomeName</Username> <Password>SomePassWord</Password> </Auth> <SveaPaymentPlanNr>157</SveaPaymentPlanNr> </request> </CancelPaymentPlan> </soap:body> </soap:envelope> CancelPaymentPlanResponse: <?xml version="1.0" encoding="utf-8"?> <soap:envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:xsd="http://www.w3.org/2001/xmlschema"> <soap:body> <CancelPaymentPlanResponse xmlns="https://webservices.sveaekonomi.se/webpay"> <CancelPaymentPlanResult> <Accepted>true</Accepted> <RejectionCode>Accepted</RejectionCode> </CancelPaymentPlanResult> </CancelPaymentPlanResponse> </soap:body></soap:envelope> ChangeOrderInfoRequest: <?xml version="1.0" encoding="utf-8"?> <soap:envelope xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> < soap:header/> < soap:body> <ChangeOrderInfo> <request> <Auth> <ClientNumber>59012</ClientNumber> <Username>SomeUsername</Username> <Password>SomePassword</Password> </Auth> <SveaOrderNr>0</SveaOrderNr> <SveaPaymentPlanNr>143236</SveaPaymentPlanNr> <ChangeClientOrderNr>true</ChangeClientOrderNr> <NewClientOrderNr>CustRef-100001</NewClientOrderNr> <ChangeCustomerReference>false</ChangeCustomerReference> 24