Element Path: <cwt><ARTICLE><deliverables><externalPayunitCredit>
The deliverable type externalPayunitCredit is a feature to allow crediting of chip cards, contactless cards and WTP Wallet accounts from an external pay unit. The feature is generic in the CWT application to allow credit of any external pay unit but this feature has to be supported and implemented in the actual external pay unit.
The credit can be based on the paid amount to get a 1:1 value between the paid amount (of another pay unit) and the credit amount or be based on tariff units to allow a setup where a flexible ratio can be set between the paid amount and the credit amount to express fees and discounts easily.
creditType
Value: | Amount, TariffUnits, OverpaymentAccount, OverpaymentAmountAlways |
Default: | Amount |
Description: | If creditType is set to Amount, the exact paid amount will be credited to the external pay unit. If the creditType is set to TariffUnits the calculated units from the tariff package used will be set as the amount to credit. If creditType is set to OverpaymentAccount the amount overpaid, typically in a coin purchase, will be credited to a WTP Wallet account. The OverpaymentAmountAlways value will alwasy send the amount to the DLL even if the overpayment amount is zero (0). |
payunit
Value: | Ext0, Ext1, Ext2, Ext3 |
Default: | - |
Description: | Defines the external pay unit, which will receive the credit. |
Note! The selected external pay unit must have support for the credit feature to be able to use it.
triggerAction
Value: | TriggerAfterCardValidation TriggerAfterTicketPrintedBeforeRemoval TriggerAfterCheckIn |
Description: | TriggerAfterTicketRemoval: |
oPrepay state: If the ticket is taken before ticketRemovalTimer timeout during wait for take ticket
oPostpay state: If the ticket is taken before ticketRemovalTimer timeout during wait for take ticket
TriggerAfterCheckIn:
oPrepay state: N/A.
oPostpay state: After Check In.
TriggerAfterCardValidation
Defines which purchase state function that will trigger the credit function.
Example:
Setup with Amount based credit to Ext0:
<ARTICLE>
<paymentService id="0"/>
<paymentService id="1"/>
</ARTICLE>
Example:
Setup with credit based on TariffUnits to Ext2 where the credit amount will be two times the paid amount based on the tariff defined in the tariff package “Topup”:
<TARIFFPACKAGE name="Topup" tariffPackageId="1">
<ticket ticketType="Normal" ticketId="1"/>
<tariff>
PACKAGE "Topup";
INTERVAL "Credit” : priority 0;
timepredicate=#always;
tariffrate = linear 1 per 2;
</tariff>
</TARIFFPACKAGE>
<ARTICLE articleId="1" name="Topup" useCommonTariffs="false" defaultTariffId="1"
VATCategory="0" purchaseCategory="10" autoSelectTariff="true">
<paymentService id="1"/>
<deliverables>
<externalPayunitCredit creditType="TariffUnits" payunit="Ext2"/>
</deliverables>
</ARTICLE>
<ARTICLETARIFFGROUP articleTariffGroupId="1" articleId="1">
<buttonControlledPackage id="0" tariffPackageName="Topup"/>
</ARTICLETARIFFGROUP>
Example:
Setup with the overpaid amount being credit to a WTP Wallet account handled by extpu_WTPWallet.dll.
<PAYUNIT name="Ext1" type="CardStep" filename="extpu_WTPWallet.dll">
<extendedproperties>
<properties name="Gateway" value="gateway.caleaccess.com" />
</extendedproperties>
</PAYUNIT>
<ARTICLE articleId="2" name="Parking" useCommonTariffs="false" defaultTariffId="2" VATCategory="1" purchaseCategory="10" autoSelectTariff="true">
<paymentService id="1" />
<deliverables>
<externalPayunitCredit creditType="OverpaymentAmount" payunit="Ext1" />
</deliverables>
</ARTICLE>