Home > Merchant Management Service Specifications > Schema Diagrams


Schema Diagrams

The merchant boarding and update merchant XSD files are required to validate the request XML. These files define all attributes required for boarding and updating merchants. Validation rules and field lengths have been defined in Merchant Management Service Field Specifications .

Merchant Boarding Schema

This schema definition contains the root element for the request and response. Common attributes like merchant information, contact information, product information, and profile information for boarding or updating merchants are stored in this file.The processor details information is provided in the Processor Information XSD, which contains all the processor attributes.

Figure 2Board Merchant Schema (Part 1)

boardMerchantTypeUpperHalf.png

 

Figure 3Board Merchant Schema (Part 2)

boardMerchantTypeLowerHalf.png

Figure 4Update Merchant Schema (Part 1)

updateMerchantTopHalf.png

Figure 5Update Merchant Schema (Part 2)

updateMerchantBottomHalf.png

 

Processor Information Schema

This schema contains all the processor attributes that need to be populated for the merchant boarding or merchant update request to be successful. This definition is an extension of the processor information section in the Merchant Boarding XSD.

Figure 6Processor Information Schema

ProcessorInformation.png

 

Request XML Schema

The Mass Boarding, Enterprise, Merchant Boarding, and Processor Information XSDs are part of the Request XML Schema.

Mass Boarding XSD

The complete mass boarding XSD can be downloaded at:

http://apps.cybersource.com/library/documentation/dev_guides/Universal_Management_Portal/MassBoard.xsd.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<xsd:schema xmlns="http://www.cybersource.com/v1/schema/massboard" xmlns:xsd="http://www.w3.org/2001/XMLSchema"

         xmlns:ent="http://www.cybersource.com/v1/schema/enterprise"

         targetNamespace="http://www.cybersource.com/v1/schema/massboard"

         elementFormDefault="qualified"

         attributeFormDefault="unqualified">

   <xsd:import namespace="http://www.cybersource.com/v1/schema/enterprise" schemaLocation="Enterprise.xsd"/>

   <xsd:annotation>

      <xsd:documentation>

         <![CDATA[CyberSource Merchants XML Schema,Version 1.0

         This defines a schema for managing the merchants through XML instance. Each 'merchant' element in this document defines a merchant with the appropriate elements and what do with the given merchant information. 'boardMerchant' element needs to be used to create merchant and 'updateMerchant' for updating the merchant.]]>

      </xsd:documentation>

   </xsd:annotation>

   <xsd:element name="ServiceRequest">

      <xsd:annotation>

         <xsd:documentation>

         <![CDATA[The top level (typically root) element. Allows the definition of mutiple merchants and default values for all nested merchant definitions.]]>

         </xsd:documentation>

      </xsd:annotation>

      <xsd:complexType>

         <xsd:sequence>

            <xsd:element name="organizationId" type="xsd:ID"/>

            <xsd:element name="boardingRequestId" type="xsd:ID"/>

            <xsd:element name="boardMerchant" type="ent:enterpriseMerchantType" maxOccurs="unbounded"/>

            <xsd:element name="updateMerchant" type="ent:enterpriseMerchantType" minOccurs="0" maxOccurs="unbounded"/>

         </xsd:sequence>

      </xsd:complexType>

   </xsd:element>

</xsd:schema>

Enterprise XSD

The complete enterprise XSD can be downloaded at:

http://apps.cybersource.com/library/documentation/dev_guides/Universal_Management_Portal/Enterprise.xsd.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<xsd:schema xmlns="http://www.cybersource.com/v1/schema/enterprise" xmlns:xsd="http://www.w3.org/2001/XMLSchema"

         xmlns:merchant="http://www.cybersource.com/v1/schema/merchant"

         targetNamespace="http://www.cybersource.com/v1/schema/enterprise"

         elementFormDefault="qualified"

         attributeFormDefault="unqualified">

   <xsd:import namespace="http://www.cybersource.com/v1/schema/merchant" schemaLocation="MerchantCommonServiceType.xsd"/>

   <xsd:element name="EnterpriseMerchant" type="merchant:merchantType"/>

   <xsd:complexType name="enterpriseMerchantType">

      <xsd:complexContent>

         <xsd:extension base="merchant:merchantType"/>

      </xsd:complexContent>

   </xsd:complexType>

</xsd:schema>

Merchant Boarding XSD

The complete merchant boarding XSD can be downloaded at:

http://apps.cybersource.com/library/documentation/dev_guides/Universal_Management_Portal/MerchantCommonServiceType.xsd.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<xsd:schema xmlns="http://www.cybersource.com/v1/schema/merchant" xmlns:xsd="http://www.w3.org/2001/XMLSchema"

         targetNamespace="http://www.cybersource.com/v1/schema/merchant" elementFormDefault="qualified"

         attributeFormDefault="unqualified">

   <xsd:complexType name="merchantType" abstract="true">

      <xsd:annotation>

         <xsd:documentation>

            Update Merchant Request information - only the information that will need to be updated could be passed in the request

         </xsd:documentation>

      </xsd:annotation>

      <xsd:sequence>

         <xsd:element name="merchantIdentifier" type="merchantIdentifierType"/>

         <xsd:element name="merchantStatusInformation" type="merchantStatusInfoType" minOccurs="0">

            <xsd:annotation>

               <xsd:documentation>Updating the status of the merchant</xsd:documentation>

            </xsd:annotation>

         </xsd:element>

         <xsd:element name="merchantStatus" type="extMerchantStatusType" minOccurs="0">

            <xsd:annotation>

               <xsd:documentation>Optional</xsd:documentation>

            </xsd:annotation>

         </xsd:element>

         <xsd:element name="merchantInformation" type="merchantInfoType" minOccurs="0">

            <xsd:annotation>

               <xsd:documentation>Required for merchant boarding but optional for updates</xsd:documentation>

            </xsd:annotation>

         </xsd:element>

         <xsd:element name="businessContact" type="contactType" minOccurs="0">

            <xsd:annotation>

               <xsd:documentation>Required for merchant boarding but optional for updates</xsd:documentation>

            </xsd:annotation>

         </xsd:element>

         <xsd:element name="technicalContact" type="contactType" minOccurs="0">

            <xsd:annotation>

               <xsd:documentation>

                  For merchant boarding if Technical Contact Details are not sent in the request, business contact will be used. Optional for updates

               </xsd:documentation>

            </xsd:annotation>

         </xsd:element>

         <xsd:element name="emergencyContact" type="contactType" minOccurs="0">

            <xsd:annotation>

               <xsd:documentation>

                  For merchant boarding if Emergency Contact is not sent in the request, business contact will be used. Optional for updates

               </xsd:documentation>

            </xsd:annotation>

         </xsd:element>

         <xsd:element name="skipProcessor" type="xsd:boolean" minOccurs="0" default="false">

            <xsd:annotation>

               <xsd:documentation>

               Required for skipping processor validations

               </xsd:documentation>

            </xsd:annotation>

         </xsd:element>

         <xsd:element name="processorInformation" type="abstractProcessorInfoType" minOccurs="0">

            <xsd:annotation>

               <xsd:documentation>

                  Required for merchant boarding but optional for updates

               </xsd:documentation>

            </xsd:annotation>

         </xsd:element>

         <xsd:element name="products" type="productType" minOccurs="0">

            <xsd:annotation>

               <xsd:documentation>Optional</xsd:documentation>

            </xsd:annotation>

         </xsd:element>

         <xsd:element name="merchantType" minOccurs="0" type="xsd:anyType">

            <xsd:annotation>

               <xsd:documentation>The identifier for merchant type.</xsd:documentation>

            </xsd:annotation>

         </xsd:element>

      </xsd:sequence>

   </xsd:complexType/>

</xsd:schema>

 

Processor Information XSD

If skipProcessor is 'true' in the Merchant Boarding XSD, then Processor Information XSD is not required. The following processors are currently supported:

nCyberSource through VISANET

nGPN

nPaymentech

nEnterprise FDIGlobal

nFDC South

nVital

nFDC Nashville

nStreamLine2

nAmexBrighton

nBarclays2

Please contact Customer Support to obtain the XSD for your processor.

XML Request and Response Examples

The field lengths, validation rules, and field types for the examples below are listed in Merchant Management Service Field Specifications .

Merchant Boarding Request XML Example

<?xml version="1.0" encoding="utf-8"?>

<ServiceRequest xmlns="http://www.cybersource.com/v1/schema/massboard"

                xmlns:ctv="http://www.cybersource.com/v1/schema/cybersourcethroughvisanet"

                xmlns:mer="http://www.cybersource.com/v1/schema/merchant"

                xmlns:ent="http://www.cybersource.com/v1/schema/enterprise"

                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

                xsi:schemaLocation="

                   http://www.cybersource.com/v1/schema/massboard MassBoard.xsd

                   http://www.cybersource.com/v1/schema/merchant MerchantCommonServiceType.xsd

                   http://www.cybersource.com/v1/schema/cybersourcethroughvisanet CyberSourcethroughVisaNet.xsd <!-Please apply the namespace based on the processor selected

                   http://www.cybersource.com/v1/schema/enterprise Enterprise.xsd

                   ">

   <organizationId><!--OrganizationId--></organizationId>

   <boardingRequestId>ba6df680-b2d8--37b3f7c67698</boardingRequestId>

   <boardMerchant xsi:type="ent:enterpriseMerchantType">

      <mer:merchantIdentifier>

         <mer:merchantId>merchant_112021</mer:merchantId>

      </mer:merchantIdentifier>

      <mer:merchantInformation>

         <mer:name>Buy com</mer:name>

         <mer:address>

            <mer:addressLine1>111 Tester St</mer:addressLine1>

            <mer:addressLine2>Address Two 1</mer:addressLine2>

            <mer:city>Seattle</mer:city>

            <mer:state>MA</mer:state>

            <mer:postalOrZipCode>94587</mer:postalOrZipCode>

            <mer:country>USA</mer:country>

         </mer:address>

         <mer:emailAddress>supportmms@visa.com</mer:emailAddress>

         <mer:phone>5107897418</mer:phone>

         <mer:timeZone>Pacific/Pago_Pago</mer:timeZone>

         <mer:websiteUrl>http://www.cybersource.com</mer:websiteUrl>

      </mer:merchantInformation>

      <mer:businessContact type="Business">

         <mer:firstName>Christian</mer:firstName>

         <mer:lastName>Doe</mer:lastName>

         <mer:emailAddress> supportmms@visa.com</mer:emailAddress>

         <mer:phone>4153697852</mer:phone>

      </mer:businessContact>

      <mer:technicalContact type="Technical">

         <mer:firstName>Christian</mer:firstName>

         <mer:lastName>Doe</mer:lastName>

         <mer:emailAddress> supportmms@visa.com</mer:emailAddress>

         <mer:phone>4153697852</mer:phone>

      </mer:technicalContact>

      <mer:emergencyContact type="Emergency">

         <mer:firstName>John</mer:firstName>

         <mer:lastName>Doe</mer:lastName>

         <mer:emailAddress> supportmms@visa.com</mer:emailAddress>

         <mer:phone>2697894561</mer:phone>

      </mer:emergencyContact>

      <!--<mer:skipProcessor>true</mer:skipProcessor> IF NO PROCESSOR IS CONFIGURED'

      <!-Please refer to Addendum for appropriate Processor'

      <mer:products>

         <mer:product profileName="<!--Profile name-->" type="Virtual_Terminal" />

      </mer:products>

      <mer:merchantType>EXTERNAL</mer:merchantType>

   </boardMerchant>

</ServiceRequest>

 

Merchant Boarding Skip Processor Request Example

<?xml version="1.0" encoding="utf-8"?>

<ServiceRequest xmlns="http://www.cybersource.com/v1/schema/massboard"

            xmlns:ctv="http://www.cybersource.com/v1/schema/cybersourcethroughvisanet"

            xmlns:mer="http://www.cybersource.com/v1/schema/merchant"

            xmlns:ent="http://www.cybersource.com/v1/schema/enterprise"

            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

            xsi:schemaLocation="

            http://www.cybersource.com/v1/schema/massboard MassBoard.xsd

            http://www.cybersource.com/v1/schema/merchant MerchantCommonServiceType.xsd

            http://www.cybersource.com/v1/schema/cybersourcethroughvisanet CyberSourcethroughVisaNet.xsd

            http://www.cybersource.com/v1/schema/enterprise Enterprise.xsd

            ">

   <organizationId><!--OrganizationId--></organizationId>

   <boardingRequestId>ba6df680-b2d8--37b3f7c67698</boardingRequestId>

   <boardMerchant xsi:type="ent:enterpriseMerchantType">

      <mer:merchantIdentifier>

         <mer:merchantId>merchant_112021</mer:merchantId>

      </mer:merchantIdentifier>

      <mer:merchantInformation>

         <mer:name>Buy com</mer:name>

         <mer:address>

            <mer:addressLine1>111 Tester St</mer:addressLine1>

            <mer:addressLine2>Address Two 1</mer:addressLine2>

            <mer:city>Seattle</mer:city>

            <mer:state>MA</mer:state>

            <mer:postalOrZipCode>94587</mer:postalOrZipCode>

            <mer:country>USA</mer:country>

         </mer:address>

         <mer:emailAddress>supportmms@visa.com</mer:emailAddress>

         <mer:phone>5107897418</mer:phone>

         <mer:timeZone>Pacific/Pago_Pago</mer:timeZone>

         <mer:websiteUrl>http://www.cybersource.com</mer:websiteUrl>

      </mer:merchantInformation>

      <mer:businessContact type="Business">

         <mer:firstName>Christian</mer:firstName>

         <mer:lastName>Doe</mer:lastName>

         <mer:emailAddress> supportmms@visa.com</mer:emailAddress>

         <mer:phone>4153697852</mer:phone>

      </mer:businessContact>

      <mer:technicalContact type="Technical">

         <mer:firstName>Christian</mer:firstName>

         <mer:lastName>Doe</mer:lastName>

         <mer:emailAddress> supportmms@visa.com</mer:emailAddress>

         <mer:phone>4153697852</mer:phone>

      </mer:technicalContact>

      <mer:emergencyContact type="Emergency">

         <mer:firstName>John</mer:firstName>

         <mer:lastName>Doe</mer:lastName>

         <mer:emailAddress> supportmms@visa.com</mer:emailAddress>

         <mer:phone>2697894561</mer:phone>

      </mer:emergencyContact>

      <mer:skipProcessor>true</mer:skipProcessor>

      <mer:products>

         <mer:product profileName="<!--Profile name-->" type="Virtual_Terminal" />

      </mer:products>

      <mer:merchantType>EXTERNAL</mer:merchantType>

   </boardMerchant>

</ServiceRequest>

 

Successful Service Response Example

When the request is accepted by the server and there are no authentication or XML validation errors, the service response is returned

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<ns2:ServiceResponseType xmlns:ns2="http://www.cybersource.com/v1/schema/merchant"

   xmlns="http://www.w3.org/2005/Atom" xmlns:ns4="http://www.cybersource.com/v1/schema/anet"

   xmlns:ns3="http://www.cybersource.com/v1/schema/cybersourcethroughvisanet"

   xmlns:ns5="http://www.cybersource.com/v1/schema/massboard" xmlns:ns6="http://www.cybersource.com/v1/schema/enterprise"

   xmlns:ns7="http://www.cybersource.com/v1/schema/smallbusiness">

   <link

      href="https://api.cybersource.com/merchant-mgmt/v2/merchant-batch-jobs/<response_code>"

      rel="self" title="Processing of uploadeded file is in progress." />

   <ns2:responseStatus>In_Progress</ns2:responseStatus>

</ns2:ServiceResponseType>

.

When the request is accepted by the server, and if the processing is not complete for all records in the request, the sample response as shown below is returned.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<ns2:ServiceResponseType

   xmlns:ns2="http://www.cybersource.com/v1/schema/merchant"

   xmlns="http://www.w3.org/2005/Atom"

   xmlns:ns4="http://www.cybersource.com/v1/schema/anet"

   xmlns:ns3="http://www.cybersource.com/v1/schema/cybersourcethroughvisanet"

   xmlns:ns5="http://www.cybersource.com/v1/schema/massboard"

   xmlns:ns6="http://www.cybersource.com/v1/schema/enterprise"

   xmlns:ns7="http://www.cybersource.com/v1/schema/smallbusiness">

   <link href=" https://api.cybersource.com/merchant-mgmt/v2/merchant-batch-jobs/fa9467ee-02e7-4f45-afda-9b334ba91c52" rel="self" title="Service Response"/>

   <ns2:responseStatus>In_Progress</ns2:responseStatus>

   <ns2:message>

      <ns2:code>S7002</ns2:code>

      <ns2:description>Request is being processed, please check back later</ns2:description>

   </ns2:message>

</ns2:ServiceResponseType>

Authentication Failure Response Example

When authentication fails, the example response as shown below is returned.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<ns2:ServiceResponseType

   xmlns:ns2="http://www.cybersource.com/v1/schema/merchant"

   xmlns="http://www.w3.org/2005/Atom"

   xmlns:ns4="http://www.cybersource.com/v1/schema/anet"

   xmlns:ns3="http://www.cybersource.com/v1/schema/cybersourcethroughvisanet"

   xmlns:ns5="http://www.cybersource.com/v1/schema/massboard"

   xmlns:ns6="http://www.cybersource.com/v1/schema/enterprise"

   xmlns:ns7="http://www.cybersource.com/v1/schema/smallbusiness">

   <ns2:responseStatus>401</ns2:responseStatus>

   <ns2:message>

      <ns2:code>401</ns2:code>

      <ns2:description>Authentication Failed</ns2:description>

   </ns2:message>

</ns2:ServiceResponseType>

Service Response Example

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<ns2:ServiceResponseType

   xmlns:ns2="http://www.cybersource.com/v1/schema/merchant"

   xmlns="http://www.w3.org/2005/Atom"

   xmlns:ns4="http://www.cybersource.com/v1/schema/anet"

   xmlns:ns3="http://www.cybersource.com/v1/schema/cybersourcethroughvisanet"

   xmlns:ns5="http://www.cybersource.com/v1/schema/massboard"

   xmlns:ns6="http://www.cybersource.com/v1/schema/enterprise"

   xmlns:ns7="http://www.cybersource.com/v1/schema/smallbusiness">

   <link href="https://api.cybersource.com/merchant-mgmt/v2/merchant-batch-jobs/8047bc13-56c2-4dc5-8115-62032501ed22" rel="self" title="Service Response"/>

   <ns2:responseStatus>Partial_Success</ns2:responseStatus>

   <ns2:totalMerchantsProcessed>2</ns2:totalMerchantsProcessed>

   <ns2:totalMerchantsProcessedSuccess>1</ns2:totalMerchantsProcessedSuccess>

   <ns2:totalMerchantsFailed>1</ns2:totalMerchantsFailed>

   <ns2:merchantResponse>

      <link href=" https://api.cybersource.com/merchant-mgmt/v2/merchant-batch-jobs/merchant-response/61c3cf46-bac9-404d-af1e-3ef4e5d9e77e/" rel="self" title="Merchant Response"></link>

      <ns2:merchantId><!-merchant_id--></ns2:merchantId>

      <ns2:operation>Board</ns2:operation>

      <ns2:status>Success</ns2:status>

      <ns2:messages/>

   </ns2:merchantResponse>

   <ns2:merchantResponse>

      <link href=" https://api.cybersource.com/merchant-mgmt/v2/merchant-batch-jobs/merchant-response/7f760a9c-3a72-456f-aa87-4a3c11190fa9/" rel="self" title="Merchant Response"></link>

      <ns2:merchantId><!-merchant_id--></ns2:merchantId>

      <ns2:operation>Board</ns2:operation>

      <ns2:status>ValidationFailed</ns2:status>

      <ns2:messages>

         <ns2:message>

            <ns2:code>E3012</ns2:code>

            <ns2:description>Invalid payment type.</ns2:description>

         </ns2:message>

      </ns2:messages>

   </ns2:merchantResponse>

</ns2:ServiceResponseType>

 

Merchant Board/Update Response Example

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<ns2:ServiceResponseType

   xmlns:ns2="http://www.cybersource.com/v1/schema/merchant"

   xmlns="http://www.w3.org/2005/Atom"

   xmlns:ns4="http://www.cybersource.com/v1/schema/cybersourcethroughvisanet"

   xmlns:ns3="http://www.cybersource.com/v1/schema/anet"

   xmlns:ns5="http://www.cybersource.com/v1/schema/massboard"

   xmlns:ns6="http://www.cybersource.com/v1/schema/smallbusiness"

   xmlns:ns7="http://www.cybersource.com/v1/schema/enterprise">

   <link href="https://api.cybersource.com/merchant-mgmt/v2/merchant-batch-jobs/" rel="self" title="Service Response"/>

   <ns2:responseStatus>Successful</ns2:responseStatus>

   <ns2:totalMerchantsProcessed>1</ns2:totalMerchantsProcessed>

   <ns2:totalMerchantsProcessedSuccess>1</ns2:totalMerchantsProcessedSuccess>

   <ns2:totalMerchantsFailed>0</ns2:totalMerchantsFailed>

   <ns2:merchantResponse>

      <link href="https://api.cybersource.com/merchant-mgmt/v2/merchant-batch-jobs/merchant-response/c5853ef4-7c1c-4e80-aa27-d42281dd594b/" rel="self" title="Merchant Response"></link>

      <ns2:merchantId><!-merchant_id--></ns2:merchantId>

      <ns2:operation>Board</ns2:operation>

      <ns2:status>Success</ns2:status>

      <ns2:messages/>

   </ns2:merchantResponse>

</ns2:ServiceResponseType>