shetabit/multipay

prepareVerificationData() method not work properly in Behpardakht Driver

Closed this issue · 1 comments

Detailed description

I am using lumen and i want to implementing payment gateway as a micro service which provides available payment gateway for clients application.

but in Behpardakht Mellat gateway it does not work properly.

it connect to gateway correctly without any problem but after calling verify() method it returns error.
i figured it out in purchase() it loades all relative data properly from config file while in verify() it dose not.

For example :

after calling preparePurchaseData() in purchase() method it returns :

 $response = $soap->bpPayRequest($this->preparePurchaseData());                                                                                                       
\Illuminate\Support\Facades\Log::alert(1, ["a" => $response]);     

log:

[2022-09-24 06:34:25] local.ALERT: 1 {"a":{"terminalId":"xxx","userName":"xxx","userPassword":"xxx","callBackUrl":"xxx","amount":xxx,"localDate":"xxx","localTime":"xxx","orderId":xxx,"additionalData":"payment using behpardakht","payerId":0}} 

but in verify() method it returns [terminalId, userName, userPassword] value as Null :

 \Illuminate\Support\Facades\Log::alert(2, ["b" => $this->preparePurchaseData()]);   

log:
2 {"b":{"terminalId":"","userName":"","userPassword":"","callBackUrl":"xxx","amount":xxx,"localDate":"xxxx","localTime":"xxx","orderId":xxx,"additionalData":"payment using behpardakht","payerId":0}}
    

I have no clue why it is happening
please help me

Your environment

  • Version used (php 8.1):
  • lumen 8.1

according to the gateway provider please fix it and send a pull request.