Pricing is handled in one of two ways, depending on the pricing method utilized on the website's order form. If Instant Pricing is used to calculate the pricing, all of the pricing elements in the cXML file are housed within an <InstantPricing> tag. Otherwise, the <InstantPricing> tag is omitted. The example below shows the <InstantPricing> tag in use:
<InstantPricing> <Total> <Money currency="USD">11.00</Money> </Total> <Shipping> <Money currency="USD">0.00</Money> </Shipping> <Tax> <Money currency="USD">0.58</Money> </Tax> </InstantPricing>
Each pricing element (Total, Shipping, Tax) houses its value in a <Money> tag, which further identifies the type of currency used (in this case, USD).
Billing & ShippingBilling and shipping information passes between the two systems through the use of address IDs. Much the same as with request IDs, the website and MIS system can define an address ID differently, but each must have room in its table to store the ID coming in from the other system, in order to ensure proper integration.
The WS4P system defines up to two addresses for each order (<ShipTo> and <BillTo> addresses). Each element within the corresponding <Address> tag matches a field in the WS4P address table.
Once an address has been defined in both the website and MIS systems, all transactions involving that address will include <ID> elements for both values.
<ShipTo> <Address addressID="141575"> <ID domain="ws4p">141575</ID> <ID domain="Test MIS"><![CDATA[ADDR3]]></ID> <Name><![CDATA[test1]]></Name> <PostalAddress name="default"> <CompanyName><![CDATA[George 'n' Sons]]></CompanyName> <Attention><![CDATA[George]]></Attention> <Street><![CDATA[131]]></Street> <Street><![CDATA[Suite 5]]></Street> <City><![CDATA[Fargo]]></City> <State><![CDATA[ND]]></State> <PostalCode><![CDATA[88888]]></PostalCode> <Country isoCountryCode="US"><![CDATA[USA]]></Country> </PostalAddress> </Address> </ShipTo>