Menu

User Tools

Create PDF

Site Tools


Differences

This shows you the differences between two versions of the page.

Go

Link to this comparison view

payment_methods:invoice:wirecard [2017-01-30 12:42]
lkn [Parameter consumerMerchantCrmId]
payment_methods:invoice:wirecard [2020-10-28 07:31] (current)
Line 20: Line 20:
 ===== Required request parameters ===== ===== Required request parameters =====
  
-For payment method Invoice by Wirecard the otherwise optional request parameters for **consumer billing data** and **shopping basket data are required**. For further information on these parameters go to [[:request_parameters#Consumer_billing_data|Consumer billing data]] and [[:request_parameters#Shopping_basket_data|Shopping basket data]].+For payment method ''Invoice by Wirecard'' the otherwise optional request parameters for **consumer billing data** and **shopping basket data are required**. For further information on these parameters go to [[:request_parameters#Consumer_billing_data|Consumer billing data]] and [[:request_parameters#Shopping_basket_data|Shopping basket data]].
  
 +Also, the parameter **consumerDeviceId** is required for payment method ''Invoice by Wirecard''.
 +
 +Please note the **length restrictions** that apply for this payment method and the following **shopping basket parameters**.
 +
 +^    [[:request_parameters#shopping_basket_data|Shopping basket data]]   ^^^^
 +^ Parameter  ^ Within fingerprint ^ Data type  ^ Short description  ^
 +| basketItem(n)ArticleNumber | Required if used. | Alphanumeric with special characters and with a variable length of up to 254 characters. | Unique ID of article n in shopping basket. | 
 +| basketItem(n)Description | Required if used. | Alphanumeric with special characters and with a variable length of up to 50 characters. | Product description of article n in shopping basket. | 
 +
 +=== Device fingerprinting ===
 +The required request parameter ''consumerDeviceId'' is a security parameter used in terms of a Device Fingerprinting (DFP) which is a method of fraud protection and allows to identify technical devices used by the consumer.
 +
 +^  Security parameter  ^^^^
 +^ Parameter  ^ Within fingerprint ^ Data type  ^ Short description  ^
 +| consumerDeviceId  | Optional | Alphanumeric with special characters and a variable length of up to 255 characters. | Unique token which serves as a method of fraud protection. |
 +
 +In order to use the parameter ''consumerDeviceId'' you first need to generate a **unique token** and **run a JavaScript** as described in the following sections.
 +
 +The request parameter ''consumerDeviceId'' is transmitted to Wirecard at the **initiation** of Wirecard Checkout Page or Wirecard Checkout Seamless front-end. The value of the parameter needs to be the **unique token**. 
 +
 +The unique token, identifying your consumer during the process of ordering, is thus transmitted via JavaScript **and** via the request parameter ''consumerDeviceId''.
 +
 +**Generating a unique token**
 +
 +To ensure that the token is really unique, it is suggested to use a hashed combination of ''customerId'' and timestamp, using for instance MD5 as hash function.
 +
 +<code java>
 +
 +$timestamp = microtime();
 +$customerId = "YOUR-CUSTOMER-ID";
 +$consumerDeviceId = md5($customerId . "_" . $timestamp);
 +</code>
 +
 +''"YOUR-CUSTOMER-ID"'' refers to your unique [[:request_parameters#customerid|customer ID]] which is used to identify your online shop with the Wirecard Checkout Server.
 +
 +**Running JavaScript**
 +
 +It is recommended to output the JavaScript code as early as possible, i.e. when the consumer has entered the checkout process in the online shop or when a first item is put into the cart.
 +
 +Please ensure that this script is executed one-time only per session (per customer + checkout + device). 
 +
 +JavaScript (example):
 +
 +<code java>
 +<script language="JavaScript">
 +    var di = {t:'<?php echo $consumerDeviceId ?>',v:'WDWL',l:'Checkout'};
 +</script>
 +<script type="text/javascript" src="//d.ratepay.com/<?php echo $consumerDeviceId?>/di.js"></script>
 +<noscript>
 +    <link rel="stylesheet" type="text/css" href="//d.ratepay.com/di.css?t=<?php echo $consumerDeviceId ?>&v=WDWL&l=Checkout">
 +</noscript>
 +<object type="application/x-shockwave-flash" data="//d.ratepay.com/WDWL/c.swf" width="0" height="0">
 +    <param name="movie" value="//d.ratepay.com/WDWL/c.swf" />
 +    <param name="flashvars" value="t=<?php echo $consumerDeviceId ?>&v=WDWL"/>
 +    <param name="AllowScriptAccess" value="always"/>
 +</object> 
 +</code>
  
 ===== Optional request parameters ===== ===== Optional request parameters =====
Line 39: Line 96:
 merchant system. In Wirecard interfaces and documentation ''consumerMerchantCrmId'' is used. merchant system. In Wirecard interfaces and documentation ''consumerMerchantCrmId'' is used.
  
-Technical information about the implementation of ''consumerMerchantCrmId'' can be found below. For any additional information on the introduction of this new parameter please contact ''Invoice by Wirecard''.+The parameter ''consumerMerchantCrmId'' may be set by the merchant using **Wirecard Checkout Page** or **Wirecard Checkout Seamless** for initiations via WCP, WCP server-to-server initiations and WCS front-end initiation
  
-The parameter ''consumerMerchantCrmId'' has to be set by the merchant using **Wirecard Checkout Page** or **Wirecard Checkout Seamless** for initiations via WCP, WCP server-to-server initiations and WCS front-end initiation+Also, the parameter ''consumerMerchantCrmId'' is part of the fingerprint
  
-FIXME - ich frag nach- Also, the parameter ''consumerMerchantCrmId'' is part of the fingerprint.  
- 
-FIXME - was tun mit WCE, so war es bei paysafecard drinnen ???? === Invoice by Wirecard and WCE/Qtill === 
- 
-<note important>The following information is **intended ONLY** for merchants using payment method **Invoice by Wirecard and Wirecard Checkout Enterprise**.</note> 
- 
-In order to set the new parameter ''consumerMerchantCrmId'', merchants using **Wirecard Checkout Enterprise** must use the most recent JAPI version. Please update your JAPI version accordingly. 
- 
-Click {{:migration:qtill-japi-standalone-4.7.8.zip|JAPI}} to download the latest JAPI version. 
- 
-For any additional information or help contact our [[:support|support teams]]. 
  
  
Line 69: Line 115:
 ===== Back-end operations ===== ===== Back-end operations =====
  
-If you make **partial shipments** of the ordered items you can only [[:back-end_operations:transaction-based:deposit|deposit]] the amount for the shipped items and need to specify these items via the [[:request_parameters#Shopping_basket_data|shopping basket parameters]].+The following information is valid for back-end operations:
  
-If you make a **[[:back-end_operations:transaction-based:refund|partial refund]]** because one or several articles were sent back to you, you need to specify in the basket parameters those items which **remain at your consumer and not** those which are sent back to you. Therefore the basket amount and the refund amount are complementary. +  * [[:back-end_operations:transaction-based:approvereversal|approveReversal]] 
- +  [[:back-end_operations:transaction-based:deposit|deposit]] 
-If you want to refund a certain amount to your consumer although **no items are sent back to you**, e.g. in case an article arrived damaged, or redeem a certain voucher value after payment was made, you have to send the optional request parameter **''[[#optional_request_parameter|transactionIdentifier]]''**. This special refund can only be carried out after the full amount was **deposited** and a **day-end closing** was performed. +  [[:back-end_operations:transaction-based:refund|refund]] 
 +  * [[:back-end_operations:transaction-based:transferfund|transferFund]]
  
 For [[:back-end_operations:transaction-based:deposit|deposit]] and [[:back-end_operations:transaction-based:refund|refund]] the parameters for the **''basket'' data are required**. Please refer to the parameter description in table [[:request_parameters#Shopping_basket_data|shopping basket parameters]] for further details. For [[:back-end_operations:transaction-based:deposit|deposit]] and [[:back-end_operations:transaction-based:refund|refund]] the parameters for the **''basket'' data are required**. Please refer to the parameter description in table [[:request_parameters#Shopping_basket_data|shopping basket parameters]] for further details.
 +==== Deposit ====
 +
 +If you make **partial shipments** of the ordered items you can only **deposit** the amount for the shipped items and need to specify these items via the [[:request_parameters#Shopping_basket_data|shopping basket parameters]].
 +
 +==== Refund ====
 +
 +If you make a **partial refund** because one or several articles were sent back to you, you need to specify in the basket parameters those items that **are sent back to you by your consumer**. Therefore the basket amount corresponds to the refunded amount.
  
 <note>The total refunded amount, including previous refunds, must be less or equal to the deposited amount.</note>  <note>The total refunded amount, including previous refunds, must be less or equal to the deposited amount.</note> 
 +
 +==== TransferFund ====
 +If you want to refund a certain amount to your consumer although **no items are sent back to you**, e.g. in case an article arrived damaged, or redeem a certain voucher value after payment was made, you have to send the optional request parameter **''[[#optional_request_parameter|transactionIdentifier]]''**. This special refund can only be carried out after the full amount was **deposited** and a **day-end closing** was performed. 
  
 ==== Optional request parameter ==== ==== Optional request parameter ====
Line 144: Line 201:
 === Examples for back-end operation "refund" === === Examples for back-end operation "refund" ===
  
-The examples for a **full or partial refund** are the same as for the back-end operation ''deposit'', except that when making a full refund, the basket is empty and when making a partial refund, you specify the items which remain with your consumer. If the **item number is refunded** and you do not refund the shipping costs, the basket is:+The examples for a **full or partial refund** are the same as for the back-end operation ''deposit'', when making a full refund, the basket amount corresponds to the full refunded amount and when making a partial refund, you specify the items which are sent back to you by your consumer. If **item number is refunded** and you do not refund the shipping costs, the basket is:
  
 ^ Parameter name             ^  Parameter value  ^ Description                 ^ ^ Parameter name             ^  Parameter value  ^ Description                 ^
Line 155: Line 212:
 |basketItem1UnitTaxAmount    |  1,80             | Tax for item 1.             | |basketItem1UnitTaxAmount    |  1,80             | Tax for item 1.             |
 |basketItem1UnitTaxRate      |  20,000           | Tax rate for item 1.        | |basketItem1UnitTaxRate      |  20,000           | Tax rate for item 1.        |
-|basketItem2ArticleNumber    |  S001             |                             | 
-|basketItem2Quantity         |  1                |                             | 
-|basketItem2Name             |  Shipping         |                             | 
-|basketItem2UnitGrossAmount  |  5,90             | Gross price for shipping.   | 
-|basketItem2UnitNetAmount    |  5,90             | Net price for shipping.     | 
-|basketItem2UnitTaxAmount    |  0,00             | Tax for shipping.           | 
-|basketItem2UnitTaxRate      |  0,000            | Tax rate for shipping.      | 
  
 === Example for using the parameter transactionIdentifier === === Example for using the parameter transactionIdentifier ===

This website uses cookies to deliver the best service to you. By continuing to browse the site, you are agreeing to our use of cookies.