当客户点击付款按钮时,如何将我的自定义变量传递给我的付款程序?

时间:2014-08-18 23:23:12

标签: php paypal payment-gateway

我正在创建一个包含我的服务或产品的表格,其中每个产品旁边都有自己的ID。 当客户点击该按钮时,我想将该产品ID抓取到立即购买按钮的URL中,当客户完成购物时,该自定义ID应该在成功URL中返回到我的网站。

当客户使用他们产品旁边的特定按钮完成付款时,我想要激活他们的每个产品。

该产品只有在其ID成功返回时才会激活。

因为这里有多个项目,这就是我尝试使用其唯一ID的原因。

如果只有一种产品,那么我就不应该使用这种方法。

image example

我也在使用payza,并且也希望使用相同的方法。

任何想法我该怎么做?

提前多多感谢。

1 个答案:

答案 0 :(得分:0)

尝试访问paypals开发者页面。他们有一些例子。如果我记得正确,当你链接到paypal时,你可以在一个特殊的变量中提供id。你将把它作为POST请求和事务ID一起取回,当你收到POST后,你应该记得再次请求Paypal验证它是合法的

要将ID添加到URL中:如果您已将其存储在数据库中,为什么不直接将其回显到URL中?

编辑: 要发送paypal所需的信息,您可以制作这样的表格。它应该作为帖子发送,因此您不能使用简单的链接:

$paypalbutton = '<form action="https://www.paypal.com/cgi-bin/webscr" method="POST">';
$paypalbutton .= '<input type="hidden" name="cmd" value="_xclick">';
$paypalbutton .= '<input type="hidden" name="business" value="'.BS_BUSINESS.'">'; 
$paypalbutton .= '<input type="hidden" name="item_name" value="'.BS_SHOPNAME.'">';
$paypalbutton .= '<input type="hidden" name="currency_code" value="'.BS_PAYPALCUR.'">';
$paypalbutton .= '<input type="hidden" name="amount" value="'.$total.'">';
$paypalbutton .= '<input type="hidden" name="shipping" value="'.$shipping.'">';
$paypalbutton .= '<input type="hidden" name="no_shipping" value="0">';
$paypalbutton .= '<input type="hidden" name="custom" value="'.$cartid.'">';

$paypalbutton .= '<input type="hidden" name="first_name" value="'.$customer['bs_firstname'].'">';
$paypalbutton .= '<input type="hidden" name="last_name" value="'.$customer['bs_lastname'].'">';
$paypalbutton .= '<input type="hidden" name="address1" value="'.$customer['bs_address1'].'">';
$paypalbutton .= '<input type="hidden" name="address2" value="'.$customer['bs_address2'].'">';
$paypalbutton .= '<input type="hidden" name="city" value="'.$customer['bs_city'].'">';
$paypalbutton .= '<input type="hidden" name="zip" value="'.$customer['bs_zip'].'">';
$paypalbutton .= '<input type="hidden" name="state" value="'.$customer['bs_state'].'">';
$paypalbutton .= '<input type="hidden" name="email" value="'.$customer['bs_email'].'">';
$paypalbutton .= '<input type="hidden" name="night_phone_a" value="'.substr($phone,0,2).'">';
$paypalbutton .= '<input type="hidden" name="night_phone_b" value="'.substr($phone,2).'">';
$paypalbutton .= '<input type="hidden" name="return" value="'.BS_RETURN.'">';
$paypalbutton .= '<input type="hidden" name="country" value="'.$postage['bs_country_isocode2'].'">';
$paypalbutton .= '<input type="hidden" name="image_url" value="'.BS_IMAGE.'">';

$paypalbutton .= '<input type="submit" name="submit" alt="Make payments with PayPal - it\'s fast, free and secure!" value="Go to Payment >"></form>';

正如您所看到的,我将我的购物卡ID传递给了“自定义”键。这个关键值你会得到回报。 'return'是paypal在购买后重定向您的用户的链接。这不是你获得价值的地方。这样您就可以显示“感谢您在我店购物”这样的消息

付款后,Paypal会将所有值发送到您指定的链接。你不应该使用GET方法(链接后的?和键/值对) Paypal将所有必要数据作为POST请求发送回您的链接我认为您称之为member.php

注意:非常重要。你得到的这些数据是你无法信任的。因为任何人都可以将这些数据发送到您的返回链接。因此,在收到返回数据后,您将其全部发送回Paypal以验证它是合法请求。然后,您将获得“确定”,然后您可以向客户提供他们的货物。希望这会有所帮助。