Checkout Web Service

Checkout Web Service

Introduction

UltraCart offers a SOAP interface to the Checkout process. Admittedly, it's not well documented. There aren't many merchants currently using it.
The functionality of it is nearly identical to the Javascript API, in terms of methods and objects, so please cross-reference the Javascript API docs for insight.

The best way to see the SOAP API is to download the reference implementation and run it.
Requirements: It requires PHP5 and there's a function for determing page url that relies on Apache (not IIS).
Installation:

  1. Unzip it into any php directory and browse to cart.php.

  2. There are instructions on the page for adding items to the cart.

  3. Once items are in the cart, it will behave like the standard UltraCart single page checkout.

Here's the working example:

Example

Version

Changes

Example

Version

Changes

1.0

Initial Version

1.1

Added registerCustomer(), loginCustomer(), establishCustomerProfile(), and customer_profile.php demo page

3.0

Updated to run against v3.0 of Checkout. This version has call logging. Login to secure.ultracart.com and visit the Developer Tools section. Click on Call History.

WSDL

Here's the WSDL. It has all the gory details.https://secure.ultracart.com/axis/services/CheckoutAPIV3?wsdl
Version 3 rolled out on May 10, 2012.

Usage

Here's an example php script for using the SOAP Checkout:

<?php $url = 'https://secure.ultracart.com/axis/services/CheckoutAPIV3?wsdl'; $client = new SoapClient($url); $merchantId = 'DEMO'; /*** Check if there's already a cart ***/ if(!isset($_COOKIE["cartId"])){ $cartChangeResult = $client->createCart($merchantId); $cart = $cartChangeResult->cart; }else{ $cartId=$_COOKIE["cartId"]; $cartChangeResult = $client->getCart($merchantId,$cartId); $cart = $cartChangeResult->cart; } ?>

Sample Files

Version 3

File

Comments

File

Comments

List all SOAP functions

Add an item to a cart

Add several items to a cart

Get items and display them

Add/Update/Delete Items, also Clear Cart and estimateShipping. You'll need jquery.1.4.2+ to execute estimateShipping()

queries available shipping methods and returns them in json format. called via ajax by update_items.php

Version 1

File

Comments

File

Comments

List all SOAP functions

Add an item to a cart

Add several items to a cart

Get items and display them

Add/Update/Delete Items, also Clear Cart and estimateShipping. You'll need jquery.1.4.2+ to execute estimateShipping()

queries available shipping methods and returns them in json format. called via ajax by update_items.php

Common Problems

No deserializer for CartItemMultimedia

Further Information

What would you like to see? Use the feedback button at the bottom of this page or the Forums and let us know what tutorials you'd like to see.