【问题标题】:how to pass price variable to PayPal with encrypted button如何使用加密按钮将价格变量传递给 PayPal
【发布时间】:2012-09-26 11:54:56
【问题描述】:

表单包含加密的 Paypal 按钮。我想将值/价格变量传递给 paypal。我不知道该怎么做。

       <form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
       <input type="hidden" name="cmd" value="_s-xclick">
      <input type="hidden" name="hosted_button_id" value="LMFWRYRBURU2J">

       <input  type="hidden"><h3>Amount of messages </h3> <br /> </div>
    <input class="paypal_input" type="" name="message" id="message" onkeyup="doMath()" maxlength="60"> <br /> 


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

      <input type="image" src="https://www.sandbox.paypal.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.sandbox.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
       </form>

我想通过加密按钮将此可变金额传递给贝宝

我试过这样

       <input type='hidden' name='amount' value='<?php echo $_POST['total'];?>'>

它不占金额。paypal 中的 item_price 空白。任何人都可以帮助我如何做到这一点。

【问题讨论】:

    标签: php paypal paypal-ipn paypal-sandbox


    【解决方案1】:
    1. 您可以在网站之间传递的唯一内容是字符串值。
    2. 其他网站必须为您提供他们将接受的值的名称。
    3. 但这会将值传递给 Paypal。
      1. 如下添加所需的每个隐藏变量
        hiddenid=OrderIDvalue=12345>
      2. 将值提交到外部站点的按钮
      3. 向页面添加必要的 JavaScript
    函数 submitToPayPal(formAction){ var formElementsArray = document.getElementsByTagName('FORM'); if ( formElementsArray != null ) { var formElement = formElementsArray[0]; document.getElementById('total_amount').value = ''; document.getElementById('__VIEWSTATE').name = 'NOVIEWSTATE'; formElement.action = formAction; formElement.submit(); } }

    如果你擅长 php 脚本,请使用以下内容。

    /*可以通过查询$_POST['item_number']变量动态带入物品名称和数量*/ $querystring .= "item_name=".urlencode($item_name)."&"; $querystring .= "amount=".urlencode($item_amount)."&";
    /*loop for posted values and append to querystring*/
    foreach($_POST as $key => $value){
    $value = urlencode(stripslashes($value));
    $querystring .= "$key=$value&";
    }
    
    /* Append paypal return addresses*/
    $querystring .= "return=".urlencode(stripslashes($return_url))."&";
    $querystring .= "cancel_return=".urlencode(stripslashes($cancel_url))."&";
    $querystring .= "notify_url=".urlencode($notify_url);
    
    /* Append querystring with custom field
    //$querystring .= "&custom=".USERID; */
    
    /* Redirect to paypal IPN*/
    header("location:https://www.sandbox.paypal.com/cgi-bin/webscr".$querystring);
    exit();
    

    【讨论】:

    • 无需直接从表单帖子提交详细信息,您可以形成一个字符串并通过标题传递它。请检查我添加的 php 脚本。
    猜你喜欢
    • 2011-07-12
    • 2014-12-15
    • 2021-05-20
    • 2016-06-30
    • 2023-03-26
    • 2019-04-03
    • 2016-07-29
    • 2017-11-23
    • 1970-01-01
    相关资源
    最近更新 更多