Purpose:
The invoicePartAmount function is used to retrieve the amount of specific goods from a transaction. Note that the returned value also includes all fees on the transaction.
Return value:
The amount of the specified goods including fees, ex. 9.95(€) or 120(SEK) or Throws an exception with error code and error message.
Code examples
Please note that you can find more code examples in our API-files which you will find under Download API in the left menu.
The code examples have been divided into several steps. Click on the step you would like to see the code example.
1. Initialize and setup the Klarna instance
$k = new Klarna();
$k->config(
123456, // Merchant ID
'sharedSecret', // Shared Secret
KlarnaCountry::SE, // Country
KlarnaLanguage::SV, // Language
KlarnaCurrency::SEK, // Currency
Klarna::BETA, // Server
'json', // PClass Storage
'/srv/pclasses.json', // PClass Storage URI path
true, // SSL
true // Remote logging of response times of xmlrpc calls
);
2. Retrieve the amount for specific article(s) from an invoice
// Here you enter the invoice number:
$invNo = '123456';
// Specify for which article(s) you want the amount.
// artNo must be the same as the one you used in addArticle() when you made the
// addTransaction() call.
$k->addArtNo(
1, // Quantity
'MG200MMS' // Article number
);
try {
$result = $k->invoicePartAmount($invNo);
echo "Result: {$result}\n";
/* Partial invoice amount successfully retrieved, proceed accordingly.
$result contains the sum of specified article(s).
*/
} catch(Exception $e) {
// Something went wrong, print the message:
echo "{$e->getMessage()} (#{$e->getCode()})\n";
}
The code examples have been divided into several steps. Click on the step you would like to see the code example.
1. Initialize and setup the Klarna instance
API klarna = new API ();
/** Configure the Klarna object **/
klarna.Config (new KlarnaConfig () {
EID = 123456,
Secret = "sharedsecret",
Country = API.Country.Sweden,
Language = API.Language.Swedish,
Currency = API.Currency.SEK,
Encoding = API.Encoding.Swedish,
// API.KlarnaServer.Beta or API.KlarnaServer.Live, depending
// on which server your eid is associated with
Mode = API.KlarnaServer.Beta,
PCStorage = "xml",
PCURI = @"/tmp/pclasses.xml"
});
2. Retrieve the amount for specific article(s) from an invoice
//Use the invoice number which you want to retrieve a part amount from
string invoicenr = "";
//Specify for which article(s) you want the amount.
ArticleNo articleNo = new ArticleNo ();
articleNo.Quantity = 1;
articleNo.ArticleNumber = "1234e";
klarna.AddArticleNumber (articleNo);
try {
double amount = klarna.InvoicePartAmount (invoicenr);
//Partial invoice amount successfully retrieved, proceed accordingly.
Console.WriteLine ("Amount: " + amount);
} catch (Exception e) {
//Something went wrong, print the error:
Console.WriteLine ("Error: " + e.Message);
}
The code examples have been divided into several steps. Click on the step you would like to see the code example.
1. Initialize and setup the Klarna instance
Klarna k = new Klarna();
/*
* Configure the Klarna object using the config() method. (Alternative 1)
*/
/* KlarnaConfig conf = new KlarnaConfig();
// Define values:
conf.setEid(0); // Merchant ID or Estore ID, an Integer above 0.
conf.setSecret("sharedSecret"); // The shared secret which accompanied your eid.
conf.setCountry(KlarnaCountry.DE); // The country of your store.
conf.setLanguage(KlarnaLanguage.DE); // The language of your store.
conf.setCurrency(KlarnaCurrency.EUR); // The currency of your store.
conf.setMode(Klarna.BETA); // or Klarna.LIVE when you are ready to go live.
// Define pclass settings:
conf.setPcStorage("json"); // Storage module. Currently only json is supported.
conf.setPcURI("/srv/pclasses.json"); // Where the json file for the pclasses are stored.
// Should we use SSL?
conf.setSsl(false);
// Should we error report/status report to klarna.
conf.setCandice(true); // set to false if your server doesn't support UDP
// Do we want to see normal debug information?
conf.setDebug(null); // true to debug, null or false not to debug
// Set the config object.
k.config(conf);
*/
/*
* Configure the Klarna object using the config() method (Alternative 2)
*/
/*
* k.config(0, // e-store ID
* "sharedSecret", // shared secret
* KlarnaCountry.DE, // Country constant
* KlarnaLanguage.DE, // Language constant
* KlarnaCurrency.EUR, // Currency constant
* Klarna.BETA, // Mode, BETA or LIVE
* "json", // Storage module
* "/srv/pclasses.json", // Storage location
* true, // SSL
* true // Candice
* );
*
* k.debug = false;
*/
/*
* Configure the Klarna object using the config() method (Alternative 3)
*/
k.config(KlarnaConfig.fromJson("/srv/klarna.json"));
/* the file would contain the following data to set the same information as above alternatives:
* {
* "eid":0,
* "secret":"sharedSecret",
* "country":"DE",
* "language":"DE",
* "currency":"EUR",
* "mode":1,
* "ssl":false,
* "candice":true,
* "pcStorage":"json",
* "pcURI":"/srv/pclasses.json"
* }
*
*/
2. Retrieve the amount for specific article(s) from an invoice
// Here you enter the invoice number:
String invNo = request.getParameter("invoice_number");
// Specify for which article(s) you want the amount.
k.addArtNo(1, "MG200MMS"); // artNo must be the same as the one you used in addArticle() when you made the addTransaction() call.
try {
String result = k.invoicePartAmount(invNo);
/* Partial invoice amount successfully retrieved, proceed accordingly.
* result contains the sum of specified article(s) as cents in a String. */
} catch (Exception e) {
// Something went wrong, print the message.
out.println(e.getMessage());
}
The code examples have been divided into several steps. Click on the step you would like to see the code example.
1. Initialize and setup the Klarna instance
<%
Option Explicit
%>
<%
' Grab the API object
' -Merchant ID or Estore ID, an integer above 0.
' -The shared secret which accompanied your eid.
' -Country, language and currency.
Dim kAPI
Set kAPI = GetKlarna(0, "sharedsecret", "SE", "SV", "SEK")
' Do we want to see normal debug information?
kAPI.DebugInformation = True
' Set the address and port to Klarna server.
' Use LIVE or BETA depending on which server your eid is associated with.
kAPI.SetPort(HTTPS_PORT) ' or HTTP_PORT
kAPI.SetHost(BETA_HOST) ' or LIVE_HOST
' Where the XML for the PClasses are stored, e.g. "pclasses.xml"
kAPI.SetPClassesStorageUri(Server.MapPath("pclasses.xml"))
%>
2. Retrieve the amount for specific article(s) from an invoice
<%
On Error Resume Next
' Here you enter the invoice number:
Dim invoiceNumber
invoiceNumber = CStr(Request.QueryString("invno"))
' Specify for which article(s) you want the amount.
' -Quantity
' -Article number, must be the same as the one you used in addArticle() when you made the addTransaction call.
call kAPI.AddArticleNumber(1, "MG200MMS")
' Attempt to get the address
Dim result
result = kAPI.InvoicePartAmount(invoiceNumber)
If Err.number = 0 Then
' Success
' Partial invoice amount successfully retrieved, proceed accordingly.
' result contains the sum of specified article(s).
Response.Write("Amount for specified articles on invoice #" & invoiceNumber & " is " & result & "")
Else
' Something went wrong
Response.Write("Error occured: " & Err.number & " - " & Err.Description & "" & Err.Source & "")
End If
%>
