How to solve the error of The element 'createC

2019-08-25 10:54发布

问题:

I want to add the multiple payment profiles of a single customer in authorize.net. After a long searching I reached a post posted on the community of the authorize.net see link. In this link there a xml formated data in the accepted solution I convert it and send it through the postman then I'm facing the error of

"The element 'createCustomerProfileRequest' in namespace 'AnetApi/xml/v1/schema/AnetApiSchema.xsd' has invalid child element '_xmlns' in namespace 'AnetApi/xml/v1/schema/AnetApiSchema.xsd'."

The json I'm sending is :-

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

Developer link

回答1:

I think your issue is not with the payment profiles but with the JSON itself. You have an invalid element in there and I think it is this line:

"_xmlns": "AnetApi/xml/v1/schema/AnetApiSchema.xsd"

Otherwise your request looks fine as I was able to create multiple payment profiles using similar JSON. The only difference between the two was my JSON didn't have that line.

Request JSON:

{
  "createCustomerProfileRequest": {
    "merchantAuthentication": {
      "name": "xxxxxxxx",
      "transactionKey": "xxxxxxxxxxxxxxxx"
    },
    "profile": {
      "merchantCustomerId": "52353345",
      "email": "user@example.com",
      "paymentProfiles": [
        {
          "customerType": "individual",
          "billTo": {
            "firstName": "John",
            "lastName": "Smith",
            "address": "12345 Main Street",
            "city": "Townsville",
            "state": "NJ",
            "zip": "12345",
            "phoneNumber": "800-555-1234"
          },
          "payment": {
            "creditCard": {
              "cardNumber": "5555555555554444",
              "expirationDate": "2023-08"
            }
          }
        },
        {
          "customerType": "individual",
          "billTo": {
            "firstName": "John",
            "lastName": "Smithberg",
            "address": "42 Main Street",
            "city": "Townsville",
            "state": "NJ",
            "zip": "12345",
            "phoneNumber": "800-555-1234"
          },
          "payment": {
            "creditCard": {
              "cardNumber": "5105105105105100",
              "expirationDate": "2023-09"
            }
          }
        }
      ],
      "shipToList": {
        "firstName": "John",
        "lastName": "Smith",
        "address": "12345 Main Street",
        "city": "Townsville",
        "state": "NJ",
        "zip": "12345",
        "phoneNumber": "800-555-1234"
      }
    },
    "validationMode": "liveMode"
  }
}

Response JSON:

{
  "customerProfileId": "1506322353",
  "customerPaymentProfileIdList": [
    "1505667207",
    "1505667208"
  ],
  "customerShippingAddressIdList": [
    "1505655763"
  ],
  "validationDirectResponseList": [
    "1,1,1,This transaction has been approved.,A2FD5O,Y,40023515435,none,Test transaction for ValidateCustomerPaymentProfile.,0.00,CC,auth_only,52353345,John,Smith,,12345 Main Street,Townsville,NJ,12345,,800-555-1234,,user@example.com,,,,,,,,,0.00,0.00,0.00,FALSE,none,32573C7D03376A9052AACA73835EDAEF,P,2,,,,,,,,,,,XXXX4444,MasterCard,,,,,,,,,,,,,,,,,",
    "1,1,1,This transaction has been approved.,AO13Y1,Y,40023515436,none,Test transaction for ValidateCustomerPaymentProfile.,0.00,CC,auth_only,52353345,John,Smithberg,,42 Main Street,Townsville,NJ,12345,,800-555-1234,,user@example.com,,,,,,,,,0.00,0.00,0.00,FALSE,none,5B937D29D29F261776859B50DC1C3CF6,P,2,,,,,,,,,,,XXXX5100,MasterCard,,,,,,,,,,,,,,,,,"
  ],
  "messages": {
    "resultCode": "Ok",
    "message": [
      {
        "code": "I00001",
        "text": "Successful."
      }
    ]
  }
}