1

Как создать профиль клиента с несколькими профилями платежей (CIM)?Как создать профиль клиента с несколькими профилями платежей (CIM)?

Создание профиля клиента с одним профилем платежа работает нормально. Но когда я пытаюсь добавить два или более профиля платежей в профиль клиента, я получаю следующую ошибку.

E00003 - Элемент 'paymentProfiles' в пространстве имен 'AnetApi/XML/v1/схема/AnetApiSchema.xsd' имеет недопустимый дочерний элемент 'CustomerType' в пространстве имен 'AnetApi/XML/v1/схемы/AnetApiSchema.xsd' , Список ожидаемых элементов: «driversLicense, taxId» в пространстве имен «AnetApi/xml/v1/schema/AnetApiSchema.xsd».

for (int 1=0;i< n;i++){ 
    list.add (createPaymentProfile()); 
} 

Transaction.setPaymentProfileList(list); 

Приведенный выше код генерирует XML, как показано ниже.

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

<createCustomerProfileRequest xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd"> 
    <merchantAuthentication> 
     <name>33k7hYV736488Bs8</name> 
     <transactionKey>86SV776773Ac6tMV22313fE</transactionKey> 
    </merchantAuthentication> 
    <refId>1361101257555</refId> 
    <profile> 
     <merchantCustomerId>2CLINC056</merchantCustomerId> 
     <description>hiiiiii.</description> 
     <email /> 
     <paymentProfiles> 
     <customerType>individual</customerType> 
     <billTo> 
      <firstName>Joe</firstName> 
      <lastName>Test</lastName> 
      <company>CompanyA</company> 
      <address>hello</address> 
      <city>Bangalore</city> 
      <state>Delhi</state> 
      <zip>560078</zip> 
      <country>IN</country> 
      <phoneNumber>415-555-1212</phoneNumber> 
      <faxNumber>415-555-1313</faxNumber> 
     </billTo> 
     <payment> 
      <creditCard> 
       <cardNumber>370000000000002</cardNumber> 
       <expirationDate>2029-12</expirationDate> 
      </creditCard> 
     </payment> 
     <customerType>individual</customerType> 
     <billTo> 
      <firstName>Joe</firstName> 
      <lastName>Test</lastName> 
      <company>CompanyA</company> 
      <address>vel</address> 
      <city>Chennai</city> 
      <state>AK</state> 
      <zip>560089</zip> 
      <country>US</country> 
      <phoneNumber>415-555-1212</phoneNumber> 
      <faxNumber>415-555-1313</faxNumber> 
     </billTo> 
     <payment> 
      <creditCard> 
       <cardNumber>38000000000006</cardNumber> 
       <expirationDate>2029-12</expirationDate> 
      </creditCard> 
     </payment> 
     </paymentProfiles> 
    </profile> 
    <validationMode>testMode</validationMode> 
    </createCustomerProfileRequest> 

ответ

0

В случае, если кто-то любопытно, вы должны повторить <paymentProfiles></paymentProfiles> для каждого платежного профиля, который вы хотите создать.

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

<createCustomerProfileRequest xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd"> 
    <merchantAuthentication> 
     <name>33k7hYV736488Bs8</name> 
     <transactionKey>86SV776773Ac6tMV22313fE</transactionKey> 
    </merchantAuthentication> 
    <refId>1361101257555</refId> 
    <profile> 
     <merchantCustomerId>2CLINC056</merchantCustomerId> 
     <description>hiiiiii.</description> 
     <email /> 
     <paymentProfiles> 
     <customerType>individual</customerType> 
     <billTo> 
      <firstName>Joe</firstName> 
      <lastName>Test</lastName> 
      <company>CompanyA</company> 
      <address>hello</address> 
      <city>Bangalore</city> 
      <state>Delhi</state> 
      <zip>560078</zip> 
      <country>IN</country> 
      <phoneNumber>415-555-1212</phoneNumber> 
      <faxNumber>415-555-1313</faxNumber> 
     </billTo> 
     <payment> 
      <creditCard> 
       <cardNumber>370000000000002</cardNumber> 
       <expirationDate>2029-12</expirationDate> 
      </creditCard> 
     </payment> 
     </paymentProfiles> 
     <paymentProfiles> 
     <customerType>individual</customerType> 
     <billTo> 
      <firstName>Joe</firstName> 
      <lastName>Test</lastName> 
      <company>CompanyA</company> 
      <address>vel</address> 
      <city>Chennai</city> 
      <state>AK</state> 
      <zip>560089</zip> 
      <country>US</country> 
      <phoneNumber>415-555-1212</phoneNumber> 
      <faxNumber>415-555-1313</faxNumber> 
     </billTo> 
     <payment> 
      <creditCard> 
       <cardNumber>38000000000006</cardNumber> 
       <expirationDate>2029-12</expirationDate> 
      </creditCard> 
     </payment> 
     </paymentProfiles> 
    </profile> 
    <validationMode>testMode</validationMode> 
    </createCustomerProfileRequest>