Hosted Controls - Digital Wallet Setup


Setup
Shipping Information
Required Billing Information
Required Shipping Information
Shipping Options

Shipping Option Criteria

  • The maximum number of Shipping Options is five.
  • The ID of each Shipping Option must be unique.
  • The amount for each shipping option must be greater than or equal to zero.
  • If you do not wish to pass in shipping options on the first render, you must pass in an empty list. For demo purposes, you can use the "Random Update" to ensure that shipping options are passed after an address update.
ID Amount Label Description
Shipping Address Update Options

Apple and Google allow you to subscribe to updates when the customer changes their shipping address in order to respond with updated tax and shipping costs.

This demo site has a few callbacks that you can select from that are examples of how you can create callbacks with your own logic as you integrate to this service.

Note that these only take affect if the shipping address is required.

  • None - No change will happen
  • Higher International Costs - The shipping amount will increase by $10.00, and the tax amount will increase by $5.00
  • Higher International Costs (Async) - The shipping amount will increase by $10.00, and the tax amount will increase by $5.00, within an asynchronous function
  • Higher International Costs (String) - The shipping amount will increase by $10.00, and the tax amount will increase by $5.00, returning amounts as a string.
  • Increase Based on City Name - The shipping amount will increase by the number of characters in the city name, and the tax amount will increase by half of that
  • Increase Based on City Name (Async) - The shipping amount will increase by the number of characters in the city name, and the tax amount will increase by half of that, within an asynchronous function
  • Free Shipping to Certain Postal Codes - When the customer's postal code is 12345, 94043, PO11EB (United Kingdom), or A1A (Canada), the shipping amount will be reduced to $0.00
  • Free Tax to Certain Postal Codes - When the customer's postal code is 12345, 94043, PO11EB (United Kingdom), or A1A (Canada), the tax amount will be reduced to $0.00
  • Random Update - Provides a randomized list of shipping options and line items after each address change, regardless of what was passed in initially

If you do not support a customer's shipping address, it is possible to return an error prompting them to select a different shipping address.

You can provide a reason, between shippingAddressInvalid or shippingAddressUnserviceable, a message, and optionally, a field to indicate an error. The field is only supported in Apple Pay, and ignored in Google Pay

  • Invalid Postal Code - When the customer's postal code is 12345, 94043, PO11EB (United Kingdom), or A1A (Canada), the customer will receive an error
  • Invalid Country - When the customer's country is not in the US, the customer will receive an error
  • Invalid City - When the customer's city starts with an M or L, the customer will receive an error
  • Invalid State - When the customer's state/province starts with an M or L, the customer will receive an error
  • Unserviceable Country - When the customer's country is not in the US, the customer will receive an unserviceable address error

The following options are to provide a visual for the error that will be returned if the Shipping Options provided after the Shipping Address is changed do not meet the validation criteria. No values are altered except the Shipping Options.

  • Error Testing: Returned Shipping Options are Negative
  • Error Testing: Too Many Shipping Options are Returned
  • Error Testing: Returned Shipping Options have Matching IDs
Shipping Option Change Callback Options

Apple and Google allow you to subscribe to updates when the customer selects a shipping option in order to respond with updated total, tax, and line items.

This demo site has a few callbacks that you can select from that are examples of how you can create callbacks with your own logic as you integrate to this service.

  • None - No change will happen
  • Overwrite Everything - When the shipping option with an identifier of Ship2 is selected it will overwrite the total to $100, the tax to $10, and the line items with two test line items
  • Overwrite Total and Tax - When the shipping option with an identifier of Ship2 is selected it will overwrite the total to $100 and the tax to $10
  • Return Error - When the shipping option with an identifier of Ship2 is selected it will return an error
Line Items

Line Items

  • When not provided, Fullsteam generates simple line items for you, including Subtotal, Tax, and Shipping Amounts
  • The maximum number of line items is 20
  • The total and shipping amounts should not be included as line items
  • The amount can be zero or negative, to represent discounts or comped items
  • It is strongly recommended that the sum of your line items amounts matches the total transaction amount, but it is not required
  • When subscribed to event callbacks such as Shipping Address Changes, you may provide an updated list of line items. If no updated line items are provided, the last list passed in will continue to be used.
Label Amount
Language Preference Information

Hosted Payments uses the Language Preference Tag for localization. It will default to "en-US" if not provided or an unsupported culture code is provided. The only supported culture codes are:

  • en-US - English (US)
  • en-CA - English (Canada)
  • fr-CA - French (Canada)

Hosted Payments determines the appropriate localization based on the Language Preference Rule:

  • 0 - Default/Not Provided. Content is localized to en-US
  • 1 - Fallback to Language Preference Tag if no valid Accept-Language is provided. If the Language Preference Tag is also invalid, use en-US
  • 2 - Force use of the Language Preference Tag. If no valid tag is provided, use en-US for localization.
Custom Merchant Authorization Information (Optional)

To test the demo builder with an alternative merchant, enter the authorization details below. Leaving any field blank will default the transaction to the demo merchant.