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 .
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)
Figure 3Board Merchant Schema (Part 2)
Figure 4Update Merchant Schema (Part 1)
Figure 5Update Merchant Schema (Part 2)
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
The Mass Boarding, Enterprise, Merchant Boarding, and Processor Information XSDs are part of the Request XML Schema.
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> |
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> |
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> |
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> |
<?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> |