gpt4 book ai didi

cakephp 2.0 与 Paypal 整合

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

大家好, 我是 paypal 的新手,但现在是 cakephp 的基础知识,现在我正在与 cakephp 进行 paypal 集成,但无法将值传递给 paypal。我正在向您展示我的代码。如果我做错了什么,请告诉我。

function paypal()
{
if($this->request->is('post'))
{
echo $item_name_1=$this->request->data['Choose']['item_name_1'];
echo"<br>";
echo $amount_1=$this->request->data['Choose']['amount_1'];echo"<br>";
echo $item_name_2=$this->request->data['Choose']['item_name_2'];echo"<br>";
echo $amount_2=$this->request->data['Choose']['amount_2'];echo"<br>";
echo $cmd=$this->request->data['Choose']['cmd'];echo"<br>";
echo $business=$this->request->data['Choose']['business'];echo"<br>";
echo $upload=$this->request->data['Choose']['upload'];echo"<br>";
echo $currency_code=$this->request->data['Choose']['currency_code'];echo"<br>";
echo $item_number_1=$this->request->data['Choose']['item_number_1'];echo"<br>";
echo $item_number_2=$this->request->data['Choose']['item_number_2'];echo"<br>";
$this->redirect('https://www.paypal.com/cgi-bin/webscr?cmd='.$cmd.'&upload='.$upload.'&business='.$business.
'&currency_code='.$currency_code.'&item_number_1='.$item_number_1.'&item_name_1='.$item_name_1.
'&'.'amount_1='.$amount_1.'&item_number_2='.$item_number_2.'&item_name_2='.$item_name_2.'&'.'amount_2='.$amount_2);

}
}

我将所有 View 值(包括隐藏字段)传递到我的 Controller (所有值都正确显示)并将其重定向到 paypal 站点。在这里,我发送了多个值,但出现了这样的错误:

This recipient is currently unable to receive money.

如果我在 corephp 中编写相同的代码,那么值将到达 paypal 并且一切正常,请告诉我哪里出错了。

最佳答案

首先,您应该在 Controller 中准备代码:

function paypal(){
$this->set('paypalData', $this->request->data['Choose']);
}

...然后创建一个表单(在 View 中),然后发布到 PayPal 网站:

//file: Views/ControllerName/paypal.ctp
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="<?php echo $paypalData['business']; ?>">
<input type="hidden" name="amount" value="<?php echo $paypalData['business']; ?>">
<input type="hidden" name="item_name_1" value="<?php echo $paypalData['item_name_1']; ?>">
<input type="hidden" name="item_number_1" value="<?php echo $paypalData['item_number_1']; ?>">
<input type="hidden" name="amount_1" value="<?php echo $paypalData['amount_1']; ?>">
<input type="hidden" name="currency_code" value="<?php echo $paypalData['currency_code']; ?>">
<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
<img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
</form>

然后用户会点击按钮转到 PayPal,后者更可靠(正确 :D)。您重定向到的 url 可能会以多种方式失败,因为您的值不是 url_encoded,可能会变得太长,等等。

其次:您的错误可能会弹出,因为您使用的是 www.paypal.com 而不是 www.sandbox.paypal.com

第三:我复制了上面的 HTML 以方便查看,您应该在 View 中使用表单助手以确保正确的 HTML 格式。

第四: Controller 操作中的 ECHOing 是错误的。特别是,如果您在输出后进行重定向。如果将任何输出发送到浏览器,重定向将不起作用。

希望这能让您朝着正确的方向前进。

关于cakephp 2.0 与 Paypal 整合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13190395/

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