Element Path: <cwt><ARTICLE><deliverables><externalPayunitDeliverable>
The deliverable type externalPayunitDeliverable is a feature to allow articles to be configured to dispatch a deliverable to external pay units during purchase. The feature is generic in the CWT application to allow dispatching of deliverables to any external pay unit, but this feature has to be supported and implemented in the actual external pay unit. The deliverable will consist of a configurable id that can be defined per article. A typical usage scenario is to deliver a contract or product to a payment media such as contact-less cards during a purchase in the terminal.
Dynamic Deliverable Data
An extension to the deliverableId is “Dynamic Deliverable Data“. By using this function, it is possible to dynamical define and send different data to an external pay unit. Several sets Dynamic Deliverable Data can be sent in the same Article, activated for different triggers in the purchase flow.
deliverableData
Range: | Name, Value |
Default: | - |
Description: | Up to 25 Name and Values can be configured. |
See Example 2 below
Name: Is a key text string that must be implemented in the external pay unit. It is up to the external pay unit to implement correct usage of the attributes.
Value: The Value attribute is defined by using the ticket variables. See Online Payment Provider variables.
deliverableId
Range: | –2147483648 to 2147483647 |
Default: | - |
Description: | The deliverable id shall be set to a value that is defined by the external payunit DLL or configuration of the external payunit DLL. A typical definition of deliverableId will be a contract id of the contract that shall be added to the card as a result of the current purchase in the terminal. |
dynamicDeliverableData
Range: | 0-1 |
Default: | - |
Description: | Element sequence for <deliverableData> |
Dynamic Deliverable Data is used to configure which runtime data that shall be sent to an external pay unit dll.
payunit
Range: | Ext0, Ext1, Ext2, Ext3 |
Default: | - |
Description: | Defines the external pay unit, which will receive the deliverable. |
Note! The selected external payunit must have support for the deliverable feature to be able to use it. |
triggerAction
Range: | TriggerAcceptButtonBeforeCardValidation TriggerAfterCardValidation TriggerAfterCompletedPurchase TriggerAfterCompletedPurchaseConfirmed TriggerAfterCompletedPurchaseDeclined TriggerAfterTicketPrintedBeforeRemoval TriggerAfterTicketRemoval TriggerAfterRejectedPurchase TriggerFromUI |
Description: | See triggerAction Details for a description of each triggerAction |
Example 1:
Setup with deliverable of id 1001 to Ext0:
<ARTICLE articleId="3" name="Topup" useCommonTariffs="false"
defaultTariffId="2" VATCategory="0" purchaseCategory="10"
autoSelectTariff="true">
<paymentService id="3"/>
<deliverables>
<externalPayunitDeliverable deliverableId="1001" payunit="Ext0"/>
</deliverables>
</ARTICLE>
Example 2:
<ARTICLE articleId="30" name="Parking" useCommonTariffs="false" autoSelectTariff="true" defaultTariffId="3" VATCategory="1" purchaseCategory="10">
<paymentService id="1" />
<deliverables>
<externalPayunitDeliverable deliverableId="0" payunit="Ext0"
triggerAction="TriggerAcceptButtonBeforeCardDebit">
<dynamicDeliverableData>
<deliverableData name="ArrivalDateTimeLocal" value="@v122-@v23-@v24T@v25:@v27:@v1028" />
<deliverableData name="ExpiryDateTimeLocal" value="@v113-@v14-@v15T@v16:@v18:@v1019" />
<deliverableData name="PurchaseDateTimeLocal" value="@v104-@v5-@v6T@v7:@v9:@v1010" />
<deliverableData name="TariffPackageId" value="@v203" />
<deliverableData name="ArticleId" value="@v204" />
<deliverableData name="LicensePlateNbr" value="@v46" />
<deliverableData name="TicksLeftToPay" value="@v1552" />
</dynamicDeliverableData>
</externalPayunitDeliverable>
</deliverables>
</ARTICLE>
Example: of dynamic data.
Trigger: TriggerAcceptButtonBeforeCardDebit
[ArrivalDateTimeLocal]:[2019-04-04T13:53:07]
[ArticleId]:[30]
[ExpriyDateTimeLocal]:[2019-04-04T13:58:07]
[LicensePlateNbr]:[ABC123]
[PurchaseDateTimeLocal]:[2019-04-04T13:53:07]
[TariffPackageId]:[3]
[TicksLeftToPay]:[225]