NAME

Vend::ECML -- map MiniVend forms/userdb to ECML checkout

VERSION

Version 0.03, official release.

SYNOPSIS

Place form boxes on page:

[ecml name]
[ecml address]

Magic database entry from country database:

[ecml country]

Map values back to MiniVend variables for saving in UserDB:

<INPUT TYPE=hidden NAME=mv_click CHECKED VALUE="ECML_map">
[set ECML_map]
[ecml function=mapback]
[/set]

DESCRIPTION

This package implements the ECML standard for the MiniVend 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 MiniVend variables:

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 MiniVend, the [ecml function=mapback] tag will cause the input results to be mapped back from the ECML names to the MiniVend 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.

[ecml function=name name=common]

Returns the ECML name for the MiniVend common usage.

[ecml name=common function=map_to]

Returns the common name for the ECML field in question.

[ecml name=common function=guess]

Guesses to return the common name or ECML name for the field in question.

AUTHOR

Mike Heins

BUGS

Not really tested in real life yet. 8-)