This method creates a new product record and returns a ProductRefNum
The addProduct method creates a new product record. If successful, a ProductRefNum will be returned. The ProductRefNum is a gateway assigned product identifier. This product identifier should be stored and is needed for updating and deleting products. The product database is an optional feature and may not be supported by all merchants. The merchant should check their gateway package to determine if this feature is available to them.
See also updateProduct, deleteProduct
string addProduct ( ueSecurityToken, Product)
Type | Name | Description |
---|---|---|
ueSecurityToken | Token | Merchant security token: used to identify merchant and retrieve the custom fields. |
Product | Product | Object contain product details |
string | Returns a ProductRefNum. |
The following exceptions (errors) are applicable to this method.
Code | Message | Advice |
---|---|---|
41001 | Unable to create product database | Merchant does not have a product database. The feature not be enabled for merchant. Contact customer service and make sure product database feature is enabled. |
For directions on how to set up the WSDL link, create “$token” and “$client”, go to PHP Soap How-to.
<?php try { $Product = array( "ProductID" => "0-13-508011-8", "SKU" =>"135080118", "UPC" => "9780135080115", "Category" => "Books:Math", "Enabled" => true, "Name" => "Elementary Differential Equations", "Description" => "Rainville, Bedient and Bedient (Eight Edition)", "Weight" => 1.0, "ShipWeight" => 1.1, "Price" => 112.00, "ListPrice" => 128.00, "WholesalePrice"=> 100.00, "DateAvailable" => "2009-12-01", "Manufacturer" => "Prentice Hall", "Type" => "Unknown", "MinQuantity" =>0, "ImageURL" => "http://acme.com/prodimg/123123.jpg", "URL" => "http:/acme.com/prod/123123.html" ); $ProductRefNum = $client->addProduct($token, $Product); print_r($res); } catch(SoapFault $e) { echo $e->getMessage(); } ?>
Dim product As usaepay.Product = New usaepay.Product product.ProductID = "0-13-508011-8" product.SKU = "135080118" product.UPC = "9780135080115" product.Category = "Books:Math" Dim inventory(0 To 1) As usaepay.ProductInventory inventory(0) = New usaepay.ProductInventory() inventory(0).InventoryLocation = "Los angeles" inventory(0).QtyOnHand = "10" inventory(0).QtyOnOrder = "5" inventory(0).DateAvailable = "2010-08-20" product.Inventory = inventory Dim priceTier(0 To 1) As usaepay.PriceTier priceTier(0) = New usaepay.PriceTier() priceTier(0).Qty = "2" priceTier(0).Price = "100" product.PriceTiers = priceTier product.TaxClass = "your_tax_class" product.Enabled = True product.Name = "Elementary Differential Equations" product.Description = "Rainville, Bedient and Bedient (Eight Edition)" product.Weight = 1.0 product.ShipWeight = 1.1 product.Price = 112.0 product.ListPrice = 128.0 product.WholesalePrice = 100.0 product.DateAvailable = "2010-08-01" product.Manufacturer = "Prentice Hail" product.MinQuantity = "0" Dim refNum As String refNum = client.addProduct(token, product) MsgBox(refNum)
usaepay.Product product = new usaepay.Product(); product.ProductID = "0-13-508011-8"; product.SKU = "135080118"; product.UPC = "9780135080115"; product.Category = "Books:Math"; usaepay.ProductInventory[] inventory = new usaepay.ProductInventory[1]; inventory[0] = new usaepay.ProductInventory(); inventory[0].InventoryLocation = "Los angeles"; inventory[0].QtyOnHand = "10"; inventory[0].QtyOnOrder = "5"; inventory[0].DateAvailable = "2010-08-20"; product.Inventory = inventory; usaepay.PriceTier[] priceTier = new usaepay.PriceTier[1]; priceTier[0] = new usaepay.PriceTier(); priceTier[0].Qty = "2"; priceTier[0].Price = "100"; product.PriceTiers = priceTier; product.TaxClass = "your_tax_class"; product.Enabled = true; product.Name = "Elementary Differential Equations"; product.Description = "Rainville, Bedient and Bedient (Eight Edition)"; product.Weight = 1.0; product.ShipWeight = 1.1; product.Price = 112.00; product.ListPrice = 128.00; product.WholesalePrice = 100.00; product.DateAvailable = "2010-08-01"; product.Manufacturer = "Prentice Hail"; product.MinQuantity = "0"; string refNum; try { refNum = client.addProduct(token, product); MessageBox.Show(string.Concat(refNum)); } catch (Exception err) { MessageBox.Show(err.Message); }
Request:
<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:usaepay" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <ns1:addProduct> <Token xsi:type="ns1:ueSecurityToken"> <ClientIP xsi:type="xsd:string">123.123.123.123</ClientIP> <PinHash xsi:type="ns1:ueHash"> <HashValue xsi:type="xsd:string">6336749834eabc43b70de5bc20fe037b6517b8d4</HashValue> <Seed xsi:type="xsd:string">1667362908-test</Seed> <Type xsi:type="xsd:string">sha1</Type> </PinHash> <SourceKey xsi:type="xsd:string">_B4P7C4K2w2ZCQQQXRqrxDj6agrS2NIT</SourceKey> </Token> <Product xsi:type="ns1:Product"> <ProductID xsi:type="xsd:string">2345678</ProductID> <SKU xsi:type="xsd:string">909090</SKU> <UPC xsi:type="xsd:string">789789</UPC> <Category xsi:type="xsd:string">liqour</Category> <Enabled xsi:type="xsd:boolean">true</Enabled> <Name xsi:type="xsd:string">sailor jerry</Name> <Description xsi:type="xsd:string">spice rum bottle</Description> <Model xsi:type="xsd:string">bottle</Model> <Weight xsi:type="xsd:double">7.7</Weight> <ShipWeight xsi:type="xsd:double">11.7</ShipWeight> <Price xsi:type="xsd:double">40</Price> <WholesalePrice xsi:type="xsd:double">60</WholesalePrice> <ListPrice xsi:type="xsd:double">20</ListPrice> <Manufacturer xsi:type="xsd:string">Chase</Manufacturer> <PhysicalGood xsi:type="xsd:boolean">true</PhysicalGood> <MinQuantity xsi:type="xsd:integer">18</MinQuantity> <ImageURL xsi:type="xsd:string">www.candyland.com</ImageURL> <URL xsi:type="xsd:string">www.candyland.com</URL> <Inventory SOAP-ENC:arrayType="ns1:ProductInventory[1]" xsi:type="ns1:ProductInventoryArray"> <item xsi:type="ns1:ProductInventory"> <InventoryLocation xsi:type="xsd:string">compton</InventoryLocation> <QtyOnHand xsi:type="xsd:string">30</QtyOnHand> <QtyOnOrder xsi:type="xsd:string">10</QtyOnOrder> <DateAvailable xsi:type="xsd:string">461</DateAvailable> </item> </Inventory> <PriceTiers SOAP-ENC:arrayType="ns1:PriceTier[2]" xsi:type="ns1:PriceTierArray"> <item xsi:type="ns1:PriceTier"> <Qty xsi:type="xsd:string">10</Qty> <Price xsi:type="xsd:string">25</Price> </item> <item xsi:type="ns1:PriceTier"> <Qty xsi:type="xsd:string">20</Qty> <Price xsi:type="xsd:string">15</Price> </item> </PriceTiers> </Product> </ns1:addProduct> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
Response:
<?xml version="1.0" encoding="utf-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:usaepay" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <ns1:addProductResponse> <ProductRefNum xsi:type="xsd:string">9001001937</ProductRefNum> </ns1:addProductResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
Version | Change |
---|---|
1.3 | Method added in this release |