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 | |
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')