Php 支付成功后未收到服务器的任何响应-授权.Net yii2

Php 支付成功后未收到服务器的任何响应-授权.Net yii2,php,yii2,payment-gateway,authorize.net,Php,Yii2,Payment Gateway,Authorize.net,我想使用Authorize.Net进行支付,但中途被卡住了。 没有任何错误消息, 我正在使用沙盒进行authCaptureTransaction, 首先,我创建了带有金额的令牌,返回url $response = $controller->executeWithApiResponse(\net\authorize\api\constants\ANetEnvironment::SANDBOX); 生成令牌后,我将其添加到表单并发布到 http://test.authorize.ne

我想使用
Authorize.Net
进行支付,但中途被卡住了。 没有任何错误消息, 我正在使用沙盒进行
authCaptureTransaction
, 首先,我创建了带有金额的令牌,返回url

    $response = $controller->executeWithApiResponse(\net\authorize\api\constants\ANetEnvironment::SANDBOX);
生成令牌后,我将其添加到表单并发布到
http://test.authorize.net/payment/payment

它重定向到付款,但在成功/取消后,它返回url并返回空响应。 请参考我下面的代码

    //function for generating coupon
    function getAnAcceptPaymentPage($amount)
    {
    /* Create a merchantAuthenticationType object with authentication details
    retrieved from the constants file */
    $merchantAuthentication = new \net\authorize\api\contract\v1\MerchantAuthenticationType();
    $merchantAuthentication->setName(Yii::$app->params['authLoginName']);
    $merchantAuthentication->setTransactionKey(Yii::$app->params['authTransId']);

    // Set the transaction's refId
    $refId = 'ref' . time();
    //create a transaction
    $transactionRequestType = new \net\authorize\api\contract\v1\TransactionRequestType();//AnetAPI\TransactionRequestType();
    $transactionRequestType->setTransactionType("authCaptureTransaction");
    $transactionRequestType->setAmount($amount);

    // Set Hosted Form options
    $setting1 = new \net\authorize\api\contract\v1\SettingType();//AnetAPI\SettingType();
    $setting1->setSettingName("hostedPaymentButtonOptions");
    $setting1->setSettingValue("{\"text\": \"Pay\"}");

    $setting2 = new \net\authorize\api\contract\v1\SettingType();//AnetAPI\SettingType();
    $setting2->setSettingName("hostedPaymentOrderOptions");
    $setting2->setSettingValue("{\"show\": true}");
    $setting3 = new \net\authorize\api\contract\v1\SettingType();//AnetAPI\SettingType();
    $setting3->setSettingName("hostedPaymentReturnOptions");
    $returnUrlSuccess = helpers\Url::to('site/receipt', TRUE);
    $returnUrlCancel = helpers\Url::to('site/cancel', TRUE);
    $setting3->setSettingValue("{\"url\": \"".$returnUrlSuccess."\", \"cancelUrl\": \"".$returnUrlCancel."\", \"showReceipt\": true}");
    // Build transaction request
    $request = new \net\authorize\api\contract\v1\GetHostedPaymentPageRequest();//AnetAPI\Get        HostedPaymentPageRequest();
    $request->setMerchantAuthentication($merchantAuthentication);
    $request->setRefId($refId);
    $request->setTransactionRequest($transactionRequestType);
    $request->addToHostedPaymentSettings($setting1);
    $request->addToHostedPaymentSettings($setting2);
    $request->addToHostedPaymentSettings($setting3);

    //execute request
    $controller = new \net\authorize\api\controller\GetHostedPaymentPageController($request);//AnetController\GetHostedPaymentPageController($request);
    $response = $controller->executeWithApiResponse(\net\authorize\api\constants\ANetEnvironment::SANDBOX);


    if (($response != null) && ($response->getMessages()->getResultCode() == "Ok")) {
    echo $response->getToken();
    } else {
    echo "ERROR : Failed to get hosted payment page token\n";
    $errorMessages = $response->getMessages()->getMessage();
    echo "RESPONSE : " . $errorMessages[0]->getCode() . " " .$errorMessages[0]->getText() . "\n";die;
    }
    return $response;
    }

    //main function
    public function actionPayment()
    {
    $token = $this->getAnAcceptPaymentPage($pack->package_cost);

    $token = $token->getToken(); //Generating token successfully

    return $this->render('/package/payform', [
    'pack' => $pack, 'token' =>$token, 'userDetails' => $user, 'url'=>$url,
    ]);
    }

    //form where i put token
    //payform.php
    {
    <form target="payframe" id="send_hptoken" action="http://test.authorize.net/payment/payment" method="post">
    <input type="hidden" name="token" value="<?php echo $token;?>">
    <input type="submit" value="Get Accept Hosted page"/>
    </form>
    }


    //return success function
    public function actionReceipt()
    {
    //receiving email of payment received but no response here
    //empty response;
    //tried $_POST, $_GET, $_REQUEST
    print_r($_POST);
    die;
    }

    //return cancel function
    public function actionCancel()
    {
    //empty response;
    //tried $_POST, $_GET, $_REQUEST
    print_r($_POST);
    die;
    }
//生成优惠券的函数
函数getAnAcceptPaymentPage($amount)
{
/*创建具有身份验证详细信息的merchantAuthenticationType对象
从常量文件中检索*/
$merchantAuthentication=new\net\authorize\api\contract\v1\MerchantAuthenticationType();
$merchantAuthentication->setName(Yii::$app->params['authLoginName');
$merchantAuthentication->setTransactionKey(Yii::$app->params['authTransId']);
//设置事务的refId
$refId='ref'.time();
//创建事务
$transactionRequestType=new\net\authorize\api\contract\v1\transactionRequestType();//AnetAPI\transactionRequestType();
$transactionRequestType->setTransactionType(“AuthCaptureTransation”);
$transactionRequestType->setAmount($amount);
//设置托管表单选项
$setting1=new\net\authorize\api\contract\v1\SettingType();//AnetAPI\SettingType();
$setting1->setSettingName(“hostedPaymentButtonOptions”);
$setting1->setSettingValue(“{\”文本\“:\”支付\“}”);
$setting2=new\net\authorize\api\contract\v1\SettingType();//AnetAPI\SettingType();
$setting2->setSettingName(“hostedPaymentOrderOptions”);
$setting2->setSettingValue(“{\'show\':true}”);
$setting3=new\net\authorize\api\contract\v1\SettingType();//AnetAPI\SettingType();
$setting3->setSettingName(“hostedPaymentReturnOptions”);
$returnUrlSuccess=helpers\Url::to('site/receive',TRUE);
$returnUrlCancel=helpers\Url::to('site/cancel',TRUE);
$setting3->setSettingValue(“{\“url\”:\”.$returnUrlSuccess.\”,“cancelUrl\”:\“.$returnUrlCancel.\”,“ShowReceivement\”:true}”);
//生成事务请求
$request=new\net\authorize\api\contract\v1\GetHostedPaymentPageRequest();//AnetAPI\Get HostedPaymentPageRequest();
$request->setMerchantAuthentication($merchantAuthentication);
$request->setRefId($refId);
$request->setTransactionRequest($transactionRequestType);
$request->addToHostedPaymentSettings($setting1);
$request->addToHostedPaymentSettings($setting2);
$request->addToHostedPaymentSettings($setting3);
//执行请求
$controller=new\net\authorize\api\controller\GetHostedPaymentPageController($request);//AnetController\GetHostedPaymentPageController($request);
$response=$controller->executeWithApiResponse(\net\authorize\api\constants\ANetEnvironment::SANDBOX);
如果(($response!=null)&($response->getMessages()->getResultCode()=“Ok”)){
echo$response->getToken();
}否则{
echo“错误:无法获取托管支付页面令牌\n”;
$errorMessages=$response->getMessages()->getMessages();
echo“RESPONSE:”.$errorMessages[0]->getCode().“”.$errorMessages[0]->getText().“\n”;死;
}
返回$response;
}
//主要功能
公共职能支付()
{
$token=$this->getAnAcceptPaymentPage($pack->package\u成本);
$token=$token->getToken();//成功生成令牌
返回$this->render(“/package/payform”[
'pack'=>$pack,'token'=>$token,'userDetails'=>$user,'url'=>$url,
]);
}
//我放代币的表格
//payform.php
{