gpt4 book ai didi

php - 是否可以使用非托管加密按钮动态覆盖金额

转载 作者:太空宇宙 更新时间:2023-11-03 15:51:31 25 4
gpt4 key购买 nike

我希望 Paypal 接受用户输入的金额。但是在重定向到 paypal 时它不接受,金额是空白的。这是否可以通过使用非托管加密按钮动态覆盖金额。任何人都可以帮助我。我很无助

这是我的表格

       <form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" target=_blank>
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="encrypted" value="<?PHP echo $encrypted; ?>">

<div class="paypal_list2">
<input type="hidden"><h3>Enter the amount</h3><br /> </div>
<input id="total" class="paypal_input_1" type="text" value="" name="amount">

<input class="paypal_btn" type="image"src="https://www.sandbox.paypal.com/en_US/i/btn/btn_paynowCC_LG.gif" name="submit" alt="PayPal - The safer, easier way to pay online!">
</form>

这是我的 php 代码

           <?php

$MY_KEY_FILE = "/home/khader/smsmobilebase/certs/private-key.pem";

$MY_CERT_FILE = "/home/khader/smsmobilebase/certs/publi-cert.pem";

$PAYPAL_CERT_FILE = "/home/khader/smsmobilebase/certs/paypal_cert_pem.txt";

$OPENSSL = "/usr/bin/openssl";


$form = array('cmd' => '_xclick','business' => 'roki_1347003608_biz@gmail.com','cert_id' => '6BPQP9KEEBCJ6','currency_code' => 'USD',
'no_shipping' => '1',
'item_name' => 'PayNow',


'cancel_return' => 'http://mobiletool.xichlomobile.com/',
'amount' => "'$amount'"
);

$encrypted = paypal_encrypt($form);

function paypal_encrypt($hash)
{

global $MY_KEY_FILE;
global $MY_CERT_FILE;
global $PAYPAL_CERT_FILE;
global $OPENSSL;


if (!file_exists($MY_KEY_FILE)) {
echo "ERROR: MY_KEY_FILE $MY_KEY_FILE not found\n";
}
if (!file_exists($MY_CERT_FILE)) {
echo "ERROR: MY_CERT_FILE $MY_CERT_FILE not found\n";
}
if (!file_exists($PAYPAL_CERT_FILE)) {
echo "ERROR: PAYPAL_CERT_FILE $PAYPAL_CERT_FILE not found\n";
}

$data = "";
foreach ($hash as $key => $value) {
if ($value != "") {
//echo "Adding to blob: $key=$value\n";
$data .= "$key=$value\n";
}
}

$openssl_cmd = "($OPENSSL smime -sign -signer $MY_CERT_FILE -inkey $MY_KEY_FILE " .
"-outform der -nodetach -binary <<_EOF_\n$data\n_EOF_\n) | " .
"$OPENSSL smime -encrypt -des3 -binary -outform pem $PAYPAL_CERT_FILE";

exec($openssl_cmd, $output, $error);

if (!$error) {
return implode("\n",$output);

print $hash;
} else {
return "ERROR: encryption failed";
}
}
?>

最佳答案

每次用户更改金额时,您都可以使用Ajax调用更新encrypted字段.使用像 jQuery 这样的库很容易做到这一点:

$('input[name=amount]').change( function () {

$.ajax({
url: "http://mydomain.com/encrypter.php",
type: "POST",
data: { amount: $('input[name=amount]').val() }
}).done(function ( data ) {
$('input[name=enctypted]').val(data);
});

});

关于php - 是否可以使用非托管加密按钮动态覆盖金额,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12724421/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com