Каждый раз, когда я создаю идентификатор профиля клиента, я получаю ответ ниже от authorize net, но его нет, потому что это новый профиль клиента. Так как я получаю электронную почту пользователя для создания идентификатора профиля authorizenet, я уже проверил базу данных mysql на наличие дублированных строк, но их нет. Я использую последний php SDK Authorize.net.
AuthorizeNetCIM_Response Object
(
[xml] => SimpleXMLElement Object
(
[messages] => SimpleXMLElement Object
(
[resultCode] => Error
[message] => SimpleXMLElement Object
(
[code] => E00039
[text] => A duplicate record with ID 31985206 already exists.
)
)
[customerPaymentProfileIdList] => SimpleXMLElement Object
(
)
[customerShippingAddressIdList] => SimpleXMLElement Object
(
)
[validationDirectResponseList] => SimpleXMLElement Object
(
)
)
[response] => 
Я использую подтверждение по электронной почте в Codeigniter для создания идентификатора клиента Authorizenet
public function email_confirmation(){
//passes the post user id variable to a local variable
$username=$this->uri->segment(3);
//activate user account when confirmed
$confirmation=$this->register_customer_model->user_confirms_email($username);
//$confirmation = TRUE;
if($confirmation==TRUE){
//load authorizenet model
$this->load->model('authorizenet_model');
//create authorizenet profile id
$response=$this->authorizenet_model->create_authorizenet_profile_id($username);
print_r($response);
}
Вот модель authorizenet для создания идентификатора профиля с именем пользователя
public function create_authorizenet_profile_id($username){
//get email from username
$query=$this->db->query("SELECT email
FROM users
WHERE username='$username'");
foreach ($query->result() as $row){
$email = $row->email;
}
//creates authorizenet profile id
$request = new AuthorizeNetCIM;
$customerProfile = new AuthorizeNetCustomer;
$customerProfile->description = "Bar Express Customer";
$customerProfile->email = $email;
$response = $request->createCustomerProfile($customerProfile);
return $response;
}
Проблема в том, что запрос сделан. Так должно быть
// Create new customer profile
$customerProfile = new AuthorizeNetCustomer;
$customerProfile->description = "Description of customer";
$customerProfile->merchantCustomerId = time();
$customerProfile->email = "test@domain.com";
$response = $request->createCustomerProfile($customerProfile);
if ($response->isOk()) {
$customerProfileId = $response->getCustomerProfileId();
}
Других решений пока нет …