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: ucsoap_3.0.zip

Example

Version

Changes

ucsoap.zip

1.0

Initial Version

ucsoap_1.1.zip

1.1

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

ucsoap_3.0.zip

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

list_functions_3.0.php

List all SOAP functions

add_item_3.0.php

Add an item to a cart

add_items_3.0.php

Add several items to a cart

get_items_3.0.php

Get items and display them

update_items_3.0.php

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

estimate_shipping.php

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

Version 1

File

Comments

list_functions.php

List all SOAP functions

add_item.php

Add an item to a cart

add_items.php

Add several items to a cart

get_items.php

Get items and display them

update_items.php

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

estimate_shipping.php

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.