亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法從其他域接收 $_POST 數據

無法從其他域接收 $_POST 數據

PHP
侃侃無極 2022-12-23 14:26:53
我無法接收$_POST數據表https://api.razorpay.com付款成功后,會出現一個重定向表單https://api.razorpay.com,$_POST重定向 URL 為http://safebrowser.tk/payment/verify.php驗證.php<?phpinclude("$_SERVER[DOCUMENT_ROOT]/include/config.php");require_once("$_SERVER[DOCUMENT_ROOT]/vendor/autoload.php");use Razorpay\Api\Api;use Razorpay\Api\Errors\SignatureVerificationError;$success = true;$error = "Payment Failed";if (empty($_POST['razorpay_payment_id']) === false) {    $api = new Api(RP_KEY, RP_SECRET);    try {        // Please note that the razorpay order ID must        // come from a trusted source (session here, but        // could be database or something else)        $attrbutes = array(            'razorpay_signature' => filter_input(INPUT_POST, 'razorpay_signature'),            'razorpay_payment_id' => filter_input(INPUT_POST, 'razorpay_payment_id'),            'razorpay_order_id' => filter_input(INPUT_POST, 'razorpay_order_id')        );        $api->utility->verifyPaymentSignature($attrbutes);    } catch (SignatureVerificationError $e) {        $success = false;        $error = 'Razorpay Error : ' . $e->getMessage();    }}if ($success === true) {    $html = "<p>Your payment was successful</p>             <p>Payment ID: ".filter_input(INPUT_POST, 'razorpay_payment_id')."</p>";} else {    $html = "<p>Your payment failed</p>             <p>{$error}</p>";}echo $html;var_dump($_POST);?>但是在網絡服務器中我沒有得到轉儲值Your payment was successfulPayment ID:array(0) { }但是當我在本地主機上嘗試時,我得到了轉儲值Your payment was successfulPayment ID: pay_EeJzbCSZQLPap8array(3) { ["razorpay_payment_id"]=> string(18) "pay_EeJzbCSZQLPap8" ["razorpay_order_id"]=> string(20) "order_EeJyrQD9A7Iqrx" ["razorpay_signature"]=> string(64) "31d210c64f3834751dec82e5d166e7ca92186c2b37d4175e4083832a49f0a548" }我嘗試將此添加到verify.phpheader('Access-Control-Allow-Origin: *');我仍然沒有得到任何 $_POST 值。我如何$_POST從其他領域獲得價值?
查看完整描述

2 回答

?
慕碼人2483693

TA貢獻1860條經驗 獲得超9個贊

檢查 Razorpay 的設置,可能有一個設置需要允許您的 safebrowser.tk 域。您也可能處于“沙盒”模式,這種模式通常只允許某些開發域,例如本地主機。



查看完整回答
反對 回復 2022-12-23
?
人到中年有點甜

TA貢獻1895條經驗 獲得超7個贊

require('config.php');

session_start();

require('razorpay-php/Razorpay.php');

use Razorpay\Api\Api;

use Razorpay\Api\Errors\SignatureVerificationError;

$success = true;

$error = "Payment Failed";

if (empty($_POST['razorpay_payment_id']) === false)

{

    $api = new Api($keyId, $keySecret);

    try

    {

    // Please note that the razorpay order ID must

        // come from a trusted source (session here, but

        // could be database or something else)

        $attributes = array(

            'razorpay_order_id' => $_POST['razorpay_order_id'],

            'razorpay_payment_id' => $_POST['razorpay_payment_id'],

            'razorpay_signature' => $_POST['razorpay_signature']

        );

        $api->utility->verifyPaymentSignature($attributes);

    }

    catch(SignatureVerificationError $e)

    {

        $success = false;

        $error = 'Razorpay Error : ' . $e->getMessage();

    }

}

if ($success === true)

{

    $payment = $api->payment->fetch($_POST['razorpay_payment_id']);

    print_r($payment);

    echo "<br><br><br>";

    $html = "<p>Your payment was successful</p>

             <p>Payment ID: {$_POST['razorpay_payment_id']}</p>";

}

else

{

    $html = "<p>Your payment failed</p>

     <p>{$error}</p>";

}

echo $html;

http://img1.sycdn.imooc.com//63a54a4f0001f6b113400310.jpg

查看完整回答
反對 回復 2022-12-23
  • 2 回答
  • 0 關注
  • 88 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號