Hi, i have downloaded the lastest version of php sdk
im running my transactions with this values
->setField('device_type',4);
->setField('duplicate_window',5);
->setField('exp_date',$expire_date);
->setField('amount',$amount);
->setField('card_num',$cardName);
transaction type ->authorizeOnly();
with the default php sdk, im geting the following errors :
---------------------------------------
Undefined property: AuthorizeNetCP::$_custom_fields
------------------------------------------------
ON LINE 86
"return new AuthorizeNetCP_Response($response, $this->_x_post_fields['delim_char'], $this->_x_post_fields['encap_char'], $this->_custom_fields);"
($_custom_fields is defined on partnet class , but its private so its not accecbile from AuthorizeNetCP class)
so i added
private $_custom_fields = array();
to AuthorizeNetCP class
then when im tring again , im getting
Undefined offset: 22
Undefined offset: 23
Undefined offset: 24
(lines 178-181)
so i have changed this lines to be
$this->split_tender_id = isset($this->_response_array[22]) ? $this->_response_array[22] : NULL;
$this->requested_amount = isset($this->_response_array[23]) ? $this->_response_array[23] : NULL;
$this->approved_amount = isset($this->_response_array[24]) ? $this->_response_array[24] : NULL;
$this->card_balance = isset($this->_response_array[25]) ? $this->_response_array[25] : NULL;
its seems like i never get this values .
all other values are ok.
after changed api works fine.
is it really the sdk problem ?
thanks.
โ03-22-2013 05:58 PM
โ03-27-2013 03:07 PM
I am getting these errors too. It's been a year, isn't this important?
Undefined property: AuthorizeNetCP::$_custom_fields in .\anet_php_sdk\lib\AuthorizeNetCP.php on line 86
Undefined offset: 22 in .\anet_php_sdk\lib\AuthorizeNetCP.php on line 177
Undefined offset: 23 in .\anet_php_sdk\lib\AuthorizeNetCP.php on line 178
Undefined offset: 24 in .\anet_php_sdk\lib\AuthorizeNetCP.php on line 179
Undefined offset: 25 in .\anet_php_sdk\lib\AuthorizeNetCP.php on line 180
Undefined property: AuthorizeNetCP_Response::$error_message in .\jsi_sync_mgdc.php on line 1641
โ03-06-2014 03:17 AM
Hello @tdietsche9
I've reported your issue to the product team for analysis.
I'd recommend subscribing to this topic so that you'll be alerted via email if there are updates. To subscribe, click Topic Options at the top of this thread and then select Subscribe. You'll then receive an email once anyone replies to your post.
Thanks,
Richard
โ03-06-2014 06:06 AM
This issue is now resolved in version 1.8.0. You may obtain the latest version of the sdk from Github: https://github.com/AuthorizeNet/sdk-php
Richard
โ04-02-2014 06:37 AM
Thanks for the fast turnaround on fixing this. Appreciate it.
Tom Dietsche
โ04-02-2014 03:05 PM
Comparing the new and old AuthorizeNetCP.php files shows that only the
"undefined offset" errors were fixed. The "undefined property" error was NOT fixed.
It doesn't define a class property for _custom_fields (like AuthorizeNetAIM.php does).
I added this code after line 50 and it seems to prevent this php error:
/**
* Only used if merchant wants to send custom fields.
*/
private $_custom_fields = array();
โ04-02-2014 11:38 PM
Also, the "error_message" property is only defined and returned if there IS an error.
It would be better if it always returned a value (empty string if trx is approved, otherwise an error message string). I fixed my script to only obtain the value of this response property if there was an error, not always.
โ04-02-2014 11:41 PM
Hello @tdietsche9
Thanks for letting us know. I've logged an issue in GitHub to track your request: https://github.com/AuthorizeNet/sdk-php/issues/9
You are also welcome in the future to go ahead and log issues right there too. You can even submit your fix for our review and inclusion: https://help.github.com/articles/using-pull-requests
Richard
โ04-03-2014 08:28 AM