【问题标题】:how to pass my custom variables to my payment procedure when customer is click on the payment button?当客户单击付款按钮时,如何将我的自定义变量传递给我的付款程序?
【发布时间】:2014-08-18 23:23:11
【问题描述】:

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

当客户使用产品旁边的特定按钮完成付款后,我希望这能够激活他们的每个产品。

并且该产品仅在其 id 及其成功 URL 返回时才被激活。

因为这里有多个项目,所以我尝试使用它们的唯一 ID。

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

我也在使用 payza,也想使用同样的方法。

知道我该怎么做吗?

非常感谢。

【问题讨论】:

    标签: php paypal payment-gateway


    【解决方案1】:

    尝试转到贝宝开发者页面。他们有一些例子。如果我没记错的话,您可以在链接到贝宝时在特殊变量中提供 id。您将作为 POST 请求连同交易 ID 将其取回,当您收到该 POST 回复时,您应该记得再次请求 Paypal 以验证它是否合法

    要将 id 放入 URL:如果您已经在数据库中拥有它,为什么不直接将其回显到 url 中?

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

    $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 以验证这是一个合法请求。然后你会得到一个“OK”,然后你就可以给客户他们的货物了。希望这会有所帮助。

    【讨论】:

    • 所以当我在“立即购买”按钮的网址中回显它时,我会在客户完成购物后取回它吗?例如http://www.example.com/member.php?active=94 像这样?
    • 你必须找出正确的钥匙。必须承认我不记得键名。您使用可能不起作用的“活动”。也可能是您应该使用 POST 请求,而不是像您一样使用 GET。
    • 请尝试查看developer.paypal.com/docs 我说的是经典API。我的实现是旧的,但现在有更多的集成选项
    • 这个教程对我没有帮助,只有结帐的集成,我没有使用。我只想在事务完成后使用 POST 或 GET 方法通过成功 url 取回这些 id。
    猜你喜欢
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 2012-03-18
    • 2013-02-17
    • 2020-09-21
    • 1970-01-01
    • 2022-11-02
    相关资源
    最近更新 更多