Tokenized representation of the customer's device (details see below)
Shopping cart
shoppingCart.items.invoiceData.description
Shopping cart item description. The description will also be displayed in the portal as the product name.
shoppingCart.items.orderLineDetails.productCode
Product Code
shoppingCart.items.orderLineDetails.productPrice
The price of one unit of the product
shoppingCart.items.orderLineDetails.quantity
Quantity of the units being purchased
shoppingCart.items.orderLineDetails.productType
Enum to classify items that are purchased
GOODS - Goods
SHIPMENT - Shipping charges
HANDLING_FEE - Handling fee
DISCOUNT - Voucher / discount
Device fingerprinting token
In order to detect and prevent fraud at an early stage for the secured payment methods, a device fingerprinting snippet has to be integrated during the checkout process. This snippet will generate a token in the format <partner_id>_<merchant_id>_<session_id>, which has to be sent via the API parameter paymentMethodSpecificInput.customerDevice.deviceToken.
Example Fingerprinting Code in Java
<div>
<?php
$environment = "t"; // "t" for TEST, "p" for PROD
$payla_partner_id = "e7yeryF2of8X";
$partner_merchant_id = "test-1"; // REPLACE individually per Merchant by Payone Merchant-ID
$snippet_token = $payla_partner_id . "_" . $partner_merchant_id . "_" . guidv4(); // REPLACE guidv4() by a session_id (which should be unique per checkout experience) or an appropriate GUIDv4 function
?>
<script id="paylaDcs" type="text/javascript" src="https://d.payla.io/dcs/<?php echo $payla_partner_id; ?>/<?php echo $partner_merchant_id; ?>/dcs.js"></script>
<script>
var paylaDcsT = paylaDcs.init("<?php echo $environment; ?>", "<?php echo $snippet_token; ?>");
</script>
<link id="paylaDcsCss" type="text/css" rel="stylesheet"
href="https://d.payla.io/dcs/dcs.css?st=<?php echo $snippet_token; ?>
&pi=<?php echo $payla_partner_id; ?>
&psi=<?php echo $partner_merchant_id; ?>&e=<?php echo $environment; ?>">
</div>
Snippet parameter explained:
Parameter
Description
Content
environment
Defines which environment the snippet is called for. During integration, t has to be used to point towards our test environment. Once the integration is finished and for every live processing merchant p has to be used to point towards our production environment.
Set "t" for Test and "p" for Production
payla_partner_id
12-digit alphanumeric Identifier provided by Payla. It is fixed. The once assigned ID will not change and is identical for test and production environment.
Set "e7yeryF2of8X"
partner_merchant_id
Identifier chosen and provided by PAYONE. It identifies the merchant and allows Payla to distinguish which merchant/shop the fingerprinting is done for. The ID is requested as part of Payla's onboarding. For testing without having a Merchant-ID, you can use "test-1"
Set your PAYONE Merchant-ID
snippet_token
For Payla, the most important requirement is the snippet - token being unique per API call. If a consumer calls the snippet multiple times during the checkout process but is in the same session, this token can be used. Once an actual order or risk check has been performed with the snippet_token, Payla expect a new snippet_token for a new API call. The main reason for this is customers switching devices between orders.
e.g. xyz123abc456_test-1_randomOrSessionadh9029381923
Mandatory checkout implementation
Terms of payment and data protection information must be implemented in the relevant language in the checkout for regulatory reasons.
Checkout note:
Language
Text
German
Mit Abschluss dieser Bestellung erkläre ich mich mit den ergänzenden Zahlungsbedingungen (Link) und der Durchführung einer Risikoprüfung für die ausgewählte Zahlungsart einverstanden. Den ergänzenden Datenschutzhinweis (Link) habe ich zur Kenntnis genommen.
English
By placing this order, I agree to the supplementary payment terms (link) and the performance of a risk assessment for the selected payment method. I am aware of the supplementary data protection notice (link).
Links:
Document
Language
Description
URL
Terms of payment
German
Framework for the use of the mentioned payment methods
Webhook after successful confirmation of the Order (guarantee granted)
You can identify the corresponding transaction by the field createPaymentResponse.payment.id in the order response. The status PENDING_CAPTURE shows that the amount is authorized and the payment gateway is waiting for a capture.