这是客户的流程:
访问网站 - >用他们的信息填写表格 - >点击"立即购买"和PayPal结账 - >返回网站 - >使用从Checkout发送的信息通过PHP
在服务器上运行ajax
脚本(假设结帐成功)。嗯,反正这是计划。我遇到的问题是弄清楚如何实际传递变量(总共有8个...数组???。我目前在网站上有一个快速结账按钮,它将用户重定向到PayPal以完成交易。我一直在YouTube上搜索一个很好的教程,或者在SO上搜索,但是没有成功。有什么想法我可以做到这一点吗?
由于
答案 0 :(得分:1)
在您的PayPal表单中,只需使用以下内容作为您的自定义字段..
示例:
<input type="hidden" name="custom" value="<?php echo $custom1.','.$custom2.','.$custom3; ?>">
或
<input type="hidden" name="custom" value="custom1,custom2,custom3">
简而言之,PayPal接受自定义名称,您可以使用逗号分隔变量。
PayPal会在IPN中将自定义字段传回给您。
<小时/>
修改强>:
以下是您可以使用自定义执行操作的示例:
$custom = $_POST['custom'];
$pattern = ",";
$pieces = explode($pattern,$custom, 3);
// 3 is how many custom fields there are
$custom1 = $pieces[0];
$custom2 = $pieces[1];
if (isset($pieces[2])) {
//an example checking to see if there is a third custom variable
$custom3 = $pieces[2];
}
答案 1 :(得分:0)
您可以使用json通过PayPal中的custom
变量传递多个值。
创建您的价值观:
$custom = array();
$custom['value1'] = "foo";
$custom['value2'] = "bar";
$custom = json_encode($custom);
然后您可以POST
将该数据存储到某个位置:
<input type="hidden" name="custom" value="<?php echo htmlentities($custom) ?>"/>
然后从这样的地方获取数据:
$data = json_decode($_POST['custom']);
echo $data->value2;
输出应为bar