Mit der Zahlartensteuerung von BillPay können Onlinehändler vor Anzeige der Zahlarten-Auswahlseite in ihrem Onlineshop kundenindividuell steuern, welche BillPay-Zahlarten den Endkunden angeboten werden sollen. Mit dieser Vorauswahl wird ermöglicht, dass Zahlarten, für die der Kunde nicht zugelassen sind, gar nicht erst eingeblendet werden. Dadurch sinkt die Kaufabbruchquote und die Konversionsrate steigt signifikant. Der Einsatz der Zahlartensteuerung impliziert, dass die Prüfung des Endkunden auf Identität und Bonität bereits vor Auswahl der Zahlart stattfindet. Die BillPay-Zahlartensteuerung ist damit als Alternative zur Prüfung der Endkundenanfrage nach Auswahl einer BillPay-Zahlart zu sehen.

Ein Händlerportal bei BillPay kann entweder mit Zahlartensteuerung oder ohne Zahlartensteuerung arbeiten, aber nicht beides zur gleichen Zeit.

Hinweis: Es ist zu beachten, dass die Nutzung der entsprechenden XML-Service-Requests für die Zahlartensteuerung nur möglich ist, wenn der Händler-Account bei BillPay dafür freigeschaltet wurde. Voraussetzung für die Freischaltung ist, dass ein entsprechender Vertrag mit BillPay abgeschlossen wurde.

Die prescore-Antwort enthält eine Liste der erlaubten Zahlarten und einige zahlartenspezifische Zusatzinformationen.

Wichtig! Die Antwort-Parameter sind nur solange gültig, solange alle Eingabeparameter des prescore-Request unverändert bleiben. Sobald der Kunde seine personenbezogenen Daten oder den Warenkorb ändert, muss der prescore-Request erneut gesendet werden. Zusätzlich, kann nur die letzte prescore Anfrage für einen Endkunden erfasst werden.

Request

XML Header

<?xml version="1.0" encoding="UTF-8"?>

Data Knoten

Attribut Pflicht Werte Details
version + wird vom Bibliothek festgelegt Versionsnummer der genutzten API
<data api_version="1.5.11">
    <!-- Request Daten -->
</data>

Default Params Knoten (Händler Zugangsdaten)

Attribut Pflicht Werte Details
mid + N..4 Ihre Händler Id
pid + N..4 Ihre domainspezifische Portal Id
bpsecure + String MD5 Hash des geheimen Passwort
    <default_params 
        mid="4441" 
        pid="6021" 
        bpsecure="25d55ad283aa400af464c76d713c07ad"/>

Customer Details Knoten (Rechnungsadresse des Kunden)

Attribut Pflicht Werte Details
customerid - AN..40 Kundennummer beim Händler
(Erlaubte Zeichen: 0-9, a-z, A-Z, .,-,_,/)
customertype + g: Gast
n: Neukunde
e: Existierend
Art des Kunden
salutation + Vorgabe: siehe Glossar Anreden Anrede
title - AN..20 akademischer Titel (z.B. "Dr.")
firstName + AN..40 Vorname
lastName + AN..40 Nachname
street + AN..40 Straße
streetNo - N..7 Hausnummer
addressAddition - AN..40 zusätzliche Adressdaten
zip + AN..7 Postleitzahl
city + AN..40 Ort
country + ISO3166-aplha-3 Land des Endkunden (z.B."DEU")
email + AN..40 (exkl. nicht valide Sonderzeichen) E-Mail-Adresse
phone -* AN..40 Telefonnummer
cellPhone - AN..40 Mobiltelefonnummer
birthday -* JJJJMMTT Geburtsdatum
language + ISO639-1 Sprache des Endkunden (z.B. "de")
ip + IPv4 & IPv6 IP-Adresse des Clients
customerGroup + p: Privat
b: Business/Geschäftskunde
Kundengruppe
    <customer_details 
        customerid="123456" 
        customertype="e" 
        salutation="Herr" 
        title="" 
        firstName="Thomas" 
        lastName="Testkunde" 
        street="Anystreet 1" 
        streetNo="" 
        addressAddition="" 
        zip="10115" 
        city="Berlin" 
        country="DEU" 
        email="anymail@gmx.de" 
        phone="03012345678" 
        cellPhone="" 
        birthday="19741012" 
        language="de" 
        ip="127.0.0.1" 
        customerGroup="p" />

phone ist Pflichtfeld wenn country gleich NLD

birthday ist Pflichtfeld wenn customerGroup gleich "p"

Shipping Details Knoten (Versandadresse des Kunden)

In diesem Knoten kann eine zur Rechnungsadresse abweichende Liederadresse übergeben werden. Achtung: Aus Risikogründen kann dieses Feature leider nicht allen Portalen angeboten werden und bedarf einer vertraglichen Einigung. Bitte sprechen Sie vorab mit einem unserer Mitarbeiter über diese Möglichkeit.

*Alle abweichenden Adressdaten müssen nur dann ausgefüllt werden, wenn useBillingAddress = 0

Attribut Pflicht Werte Details
useBillingAddress + 0/1 0: abweichende Lieferadresse nutzen
1: Rechnungsadresse als Lieferadresse nutzen
Kennzeichen, ob die Rechnungsadresse gleich der Lieferadresse des Kunden ist.
salutation +* Vorgabe: siehe Glossar Anreden Anrede
title - AN..20 akademischer Titel (z.B. "Dr.")
firstName +* AN..40 Vorname
lastName +* AN..40 Nachname
street +* AN..40 Straße
streetNo - N..7 Hausnummer
addressAddition - AN..40 zusätzliche Adressdaten
zip +* AN..7 Postleitzahl
city +* AN..40 Ort
country +* ISO3166-aplha-3 Land des Endkunden (z.B."DEU")
phone - AN..40 Telefonnummer
cellPhone - AN..40 Mobiltelefonnummer
    <shipping_details 
        useBillingAddress="1" 
        salutation="" 
        title="" 
        firstName="" 
        lastName="" 
        street="" 
        streetNo=""
        addressAddition="" 
        zip="" 
        city="" 
        country="" 
        phone="" 
        cellPhone="" />

Company Details Knoten (Details zu Geschäftskunden)

Sollten Sie Ihre Ware an Geschäftskunden verkaufen (`customertype´ = "b"), müssen in diesem Knoten alle Details zu der Firma des Kunden übergeben werden.

*siehe Glossar Vorgaben für Geschäftskunden

Attribut Pflicht Werte Details
name + AN..200 Name der Firma
legalForm + Vorgabe siehe Glosar Unternehmensformen Rechtsform der Firma
registerNumber +* AN..20 Handelsregisternummer/Firmenbuch
holderName +* AN..100 Name des Inhabers der Firma
taxNumber - AN..14 gültige UStIdNr. (DEXXXXXXXXX)
    <company_details
        name="Testfirma"
        legalForm="GmbH"
        registerNumber="HRB 122 029 B"
        holderName="Testinhaber"
        taxNumber="DE268874183" />

Article Data Knoten (Liste der bestellten Artikel)

Im article_data-Knoten werden alle Informationen rund um die in der Bestellungen enthaltenen Warenkorbpositionen abgebildet. Pro einzigartigem Artikel wird ein `article´-Knoten gesetzt.

*Wichtig! IDs dürfen in einer Anfrage nicht mehrfach auftreten!

Attribut Pflicht Werte Details
articleid + AN..20 Eindeutige Artikel-ID für die Warenkorbposition*
articlequantity + N..7 Menge des Artikels im Warenkorb
articlename + AN..50 Name des Artikels
articlecategory - AN..50 Artikel Kategorie
articlesubcategory1 - AN..50 Artikel Sub-Kategorie
articlesubcategory2 - AN..50 Artikel Sub-Kategorie
articleprice + N..7 Nettopreis des Artikels in kleinster Währungseinheit (1,00 EUR = 100)
articlepricegross + N..7 Bruttopreis des Artikels in kleinster Währungseinheit (1,00 EUR = 100)
    <article_data>
         <article 
            articleid="1234" 
            articlequantity="2" 
            articlename="Shirt" 
            articlecategory="Clothing"
            articlesubcategory1="Van Laack"
            articleprice="10084" 
            articlepricegross="12000" />
        <article 
            articleid="2345" 
            articlequantity="1" 
            articlename="Hose" 
            articlecategory="Clothing"
            articlesubcategory1="Ralph Lauren"
            articleprice="16807" 
            articlepricegross="20000" />
    </article_data>

Total Knoten (Details zur Bestellung)

Im total-Knoten werden alle zusammenfassenden Informationen der Bestellung, sowie die händlerseitige Bestellnummer übergeben.

Attribut Pflicht Werte Details
shippingname + AN..50 Versandkosten-Name (z.B. "Express-Versand")
shippingprice + N..7 Nettowert aller warenkorbspez. Kosten (z.B. Lieferkosten, Zuschläge) in kleinster Währungseinheit (1,00 EUR = 100)
shippingpricegross + N..7 Bruttowert aller warenkorbspez. Kosten (z.B. Lieferkosten, Zuschläge) in kleinster Währungseinheit (1,00 EUR = 100)
rebate + N..7 Positiver Nettowert aller Rabatte, Coupons und sonstiger betragsmindernder Posten in kleinster Währungseinheit (1,00 EUR = 100)
rebategross + N..7 Positiver Bruttowert aller Rabatte, Coupons und sonstiger betragsmindernder Posten in kleinster Währungseinheit (1,00 EUR = 100)
carttotalprice + N..7 Nettowert der Bestellung in kleinster Währungseinheit (1,00 EUR = 100)
carttotalpricegross + N..7 Bruttowert der Bestellung in kleinster Währungseinheit (1,00 EUR = 100)
currency + Vorgabe ISO4217 Dreistelliger Währungscode (z.B. "EUR")
reference - AN..40 Eindeutige Bestellnummer beim Händler (erlaubte Zeichen: 0-9, a-z, A-Z,.,-,_,/)
    <total 
        shippingname="Express Versand" 
        shippingprice="840" 
        shippingpricegross="1000" 
        rebate="1681" 
        rebategross="2000" 
        carttotalprice="36134" 
        carttotalpricegross="43000" 
        currency="EUR" />

Fraud Detection Knoten (Betrugsprävention)

In diesem Knoten wird die für die Session des Kunden vergebene einzigartige ID übergeben. Diese dient der Bekämpfung von Betrug in Ihrem Shop und muss immer identisch mit der als "identifier" benannten ID in der Konfiguration des JavaScript Widgets sein.

Attribut Pflicht Werte Details
session_id + AN..100 Session ID des Kunden
    <fraud_detection session_id="97d3d1b1cc6b0686bbc1f19feec80e6c"/>

Vollständiges XML-Beispiel

<?xml version="1.0" encoding="UTF-8"?>
<data api_version="1.5.18">
  <default_params mid="4441" pid="6021" bpsecure="25d55ad283aa400af464c76d713c07ad"/>
  <customer_details customerid="" customertype="e" salutation="Herr" title="" firstName="Thomas" lastName="Testkunde" street="Anystreet 1" streetNo="" addressAddition="" zip="10115" city="Berlin" country="DEU" email="anymail@gmx.de" phone="03012345678" cellPhone="" birthday="19741012" language="de" ip="127.0.0.1" customerGroup="p" />
  <shipping_details useBillingAddress="1" salutation="" title="" firstName="" lastName="" street="" streetNo="" addressAddition="" zip="" city="" country="" phone="" cellPhone="" />
  <total shippingname="Express Versand" shippingprice="840" shippingpricegross="1000" rebate="1681" rebategross="2000" carttotalprice="36134" carttotalpricegross="43000" currency="EUR" />
  <article_data>
    <article articleid="1234" articlequantity="2" articlename="Shirt" articlecategory="Clothing" articlesubcategory1="Van Laack" articleprice="10084" articlepricegross="12000" />
    <article articleid="2345" articlequantity="1" articlename="Hose" articlecategory="Clothing" articlesubcategory1="Ralph Lauren" articleprice="16807" articlepricegross="20000" />
  </article_data>
  <fraud_detection session_id="97d3d1b1cc6b0686bbc1f19feec80e6c" />
</data> 

Response

Data Knoten (Ergebnis der Anfrage)

Der data-Knoten enthält alle Informationen darüber, ob der Kunde zur Zahlung via BillPay zugelassen wurde, und welche eindeutige ID (bptid) der gesendeten Anfrage vergeben wurde. Zudem wird eine Meldung zur Anzeige für den Kunden und eine Meldung für das Log der Händler mit übertragen.

Attribut Pflicht Werte Details
status + Vorgabe "APPROVED" / "DENIED" Status der Identitäts- und Bonitätsprüfung
bptid + AN..50 Eindeutige BillPay Transaktionsnummer für diese Anfrage
error_code + N..3 Fehlercode (0: kein Fehler);
merchant_message - AN..200 Detaillierte Fehlermeldung für den Händler
customer_message - An..200 Fehlernachricht zur Anzeige für den Kunden im Frontend
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<data 
    bptid="1aa2fb2d-2b78-4393-bf06-be0012dda337" 
    customer_message="" 
    error_code="0" 
    merchant_message=""
    status="APPROVED">
<!-- weitere Antwortdaten -->
</data>

Corrected Address Knoten (Optional: Korrigierte Kundenadresse)

In diesem Knoten gibt die BillPay Schnittstelle die normalisierte Adresse des Kunden zurück.

Attribut Pflicht Werte Details
city + AN..50 Korrigierter Ort
country + Vorgabe ISO3166 alpha-3 Korrigierter Ländercode (z.B. "DEU")
street + AN..50 Korrigierte Straße
streetNo + AN..15 Korrigierte Hausnummer
zip + AN..7 Korrigierte Postleitzahl
    <corrected_address 
        city="Berlin" 
        country="DEU" 
        street="Zinnowitzer Str." 
        streetNo="1" 
        zip="10115"/>

Allowed Methods Node

Dieser Knoten enthält die erlaubten Zahlarten im Falle einer positiven Antwort. Jeder Zahlart hat einen eigenen "payment_method" XML Knoten.

Attribute Pflicht Werte Details
name + AN..50 Kontoholder
customer_group + "p": Privatkunde (B2C)
"b": Business/Geschäftskunde (B2B)
Kundengruppe
payment_type + 1: Invoice
2: Direct Debit
3: Transaction Credit
4: PayLater
Zahlart ID
additional_data - XML fragment zusätzliche Daten zur Zahlart
<allowed_methods>
    <payment_method>
      <name>
        INVOICE_B2C
      </name>
      <customer_group>
        p
      </customer_group>
      <payment_type>
        1
      </payment_type>
      <additional_data/>
    </payment_method>
    <payment_method>
      <name>
        DIRECT_DEBIT_B2C
      </name>
      <customer_group>
        p
      </customer_group>
      <payment_type>
        2
      </payment_type>
      <additional_data/>
    </payment_method>
  </allowed_methods>