4.23. ecml

Uses ECML (Electronic Commerce Markup Language) module to map Interchange forms/userdb to ECML checkout

4.23.1. Summary

    [ecml name function other_named_attributes]
Parameters Description Default
function ecml function (default = 'widget') DEFAULT_VALUE
name   DEFAULT_VALUE
Attributes Default
interpolate (reparse) No
Other_Characteristics  
Invalidates cache no
Container tag No
Has Subtags No
Nests Yes

Tag expansion example:

    [ecml name function]
---
    TODO: (tag result)

ASP-like Perl call:

   $Tag->ecml(  { function => VALUE_function
                   name => VALUE_name
}, $body  );

or similarly with positional parameters,

    $Tag->ecml(name,function, $attribute_hash_reference, $body);

4.23.2. Description

This package implements the ECML standard for the Interchange demo. ECML stands for "Electronic Commerce Modeling Language", but at this writing it is a simple standard for naming variables so that "electronic wallets" can pre-fill-in your checkout form based on users past purchase from other companies.

It translates into ECML from the following Interchange variables:

ECML Interchange variable
Ecom_BillTo_Online_Email b_email
Ecom_BillTo_Postal_City b_city
Ecom_BillTo_Postal_CountryCode b_country
Ecom_BillTo_Postal_Name_First b_fname
Ecom_BillTo_Postal_Name_Last b_lname
Ecom_BillTo_Postal_Name_Middle b_mname
Ecom_BillTo_Postal_Name_Prefix b_title
Ecom_BillTo_Postal_Name_Suffix b_name_suffix
Ecom_BillTo_Postal_PostalCode b_zip
Ecom_BillTo_Postal_StateProv b_state
Ecom_BillTo_Postal_Street_Line1 b_address1
Ecom_BillTo_Postal_Street_Line2 b_address2
Ecom_BillTo_Postal_Street_Line3 b_address3
Ecom_BillTo_Telecom_Phone_Number b_phone_day
Ecom_ConsumerOrderID mv_order_number
Ecom_Payment_Card_ExpDate_Day mv_credit_card_exp_day
Ecom_Payment_Card_ExpDate_Month mv_credit_card_exp_month
Ecom_Payment_Card_ExpDate_Year mv_credit_card_exp_year
Ecom_Payment_Card_Name c_name
Ecom_Payment_Card_Number mv_credit_card_number
Ecom_Payment_Card_Protocol payment_protocols_available
Ecom_Payment_Card_Type mv_credit_card_type
Ecom_Payment_Card_Verification mv_credit_card_verify
Ecom_ReceiptTo_Online_Email r_email
Ecom_ReceiptTo_Postal_City r_city
Ecom_ReceiptTo_Postal_CountryCode r_country
Ecom_ReceiptTo_Postal_Name_First r_fname
Ecom_ReceiptTo_Postal_Name_Last r_lname
Ecom_ReceiptTo_Postal_Name_Middle r_mname
Ecom_ReceiptTo_Postal_Name_Prefix r_title
Ecom_ReceiptTo_Postal_Name_Suffix r_name_suffix
Ecom_ReceiptTo_Postal_PostalCode r_zip
Ecom_ReceiptTo_Postal_StateProv r_state
Ecom_ReceiptTo_Postal_Street_Line1 r_address1
Ecom_ReceiptTo_Postal_Street_Line2 r_address2
Ecom_ReceiptTo_Postal_Street_Line3 r_address3
Ecom_ReceiptTo_Telecom_Phone_Number r_phone
Ecom_SchemaVersion ecml_version
Ecom_ShipTo_Online_Email email
Ecom_ShipTo_Postal_City city
Ecom_ShipTo_Postal_CountryCode country
Ecom_ShipTo_Postal_Name_Combined name
Ecom_ShipTo_Postal_Name_First fname
Ecom_ShipTo_Postal_Name_Last lname
Ecom_ShipTo_Postal_Name_Middle mname
Ecom_ShipTo_Postal_Name_Prefix title
Ecom_ShipTo_Postal_Name_Suffix name_suffix
Ecom_ShipTo_Postal_PostalCode zip
Ecom_ShipTo_Postal_StateProv state
Ecom_ShipTo_Postal_Street_Line1 address1
Ecom_ShipTo_Postal_Street_Line2 address2
Ecom_ShipTo_Postal_Street_Line3 address3
Ecom_ShipTo_Telecom_Phone_Number phone
Ecom_TransactionComplete end_transaction_flag

Once the form variables are input and sent to Interchange, the [ecml function=mapback] tag will cause the input results to be mapped back from the ECML names to the Interchange names.

If you only have a name variable in your UserDB, the module will attempt to split it into first name and last name for ECML purposes and map the results back. If you have fname and lname, then it will not.

4.23.2.1. function

ecml function (default = 'widget')

4.23.2.2. name