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:36]
lkn
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 32: Line 89:
 | consumerMerchantCrmId | Alphanumeric with a variable length of up to 50 characters. | Unique ID identifying the consumer of your online shop, e.g. from your CRM system. The parameter must not be a human readable e-mail address. | | consumerMerchantCrmId | Alphanumeric with a variable length of up to 50 characters. | Unique ID identifying the consumer of your online shop, e.g. from your CRM system. The parameter must not be a human readable e-mail address. |
  
-=== Parameter consumerMerchantCrmId ===+==== Parameter consumerMerchantCrmId ====
  
 The parameter is understood as unique ID identifying the consumer in your online shop, e.g. using data from your Customer Relationship Management (CRM) system. However, ''Invoice by Wirecard'' must not receive any data or information that allow to draw any conclusions on the final consumer.  The parameter is understood as unique ID identifying the consumer in your online shop, e.g. using data from your Customer Relationship Management (CRM) system. However, ''Invoice by Wirecard'' must not receive any data or information that allow to draw any conclusions on the final consumer. 
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 Also, the parameter ''consumerMerchantCrmId'' is part of the fingerprint.  
- 
-=== 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.