Reply
Highlighted
Member
Posts: 6
Registered: ‎03-17-2013

Card Present PHP SDK BUG

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.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Highlighted
Administrator Administrator
Administrator
Posts: 563
Registered: ‎08-03-2011

Re: Card Present PHP SDK BUG

Hi,
 
Thank you for bringing this to our attention, we tested this and have reproduced the error. We'll pass it to our developers for review.
 
Thanks,
Joy
Highlighted
Member
Posts: 4
Registered: ‎03-06-2014

Re: Card Present PHP SDK BUG

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

 

Highlighted
Posts: 2,765
Topics: 57
Kudos: 247
Blog Posts: 67
Registered: ‎12-05-2011

Re: Card Present PHP SDK BUG

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

Highlighted
Posts: 2,765
Topics: 57
Kudos: 247
Blog Posts: 67
Registered: ‎12-05-2011

Re: Card Present PHP SDK BUG

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

 

Highlighted
Member
Posts: 4
Registered: ‎03-06-2014

Re: Card Present PHP SDK BUG

Thanks for the fast turnaround on fixing this. Appreciate it.

Tom Dietsche

Highlighted
Member
Posts: 4
Registered: ‎03-06-2014

Re: Card Present PHP SDK BUG

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();

 

Highlighted
Member
Posts: 4
Registered: ‎03-06-2014

Re: Card Present PHP SDK BUG

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.

Highlighted
Posts: 2,765
Topics: 57
Kudos: 247
Blog Posts: 67
Registered: ‎12-05-2011

Re: Card Present PHP SDK BUG

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