【问题标题】:PayPal custom button and radio options lead to error in processing transactionPayPal 自定义按钮和单选选项导致处理交易出错
【发布时间】:2015-06-22 18:58:47
【问题描述】:

我使用 PayPal 的按钮创建器生成了一个包含三个字段的表单:一个包含七个项目和两个文本字段的下拉选择器。我尝试自定义它,从表格到 div,从下拉菜单到单选按钮,到 textarea 的文本输入之一,并使其浮动在两列中。看起来不错,但现在它返回一个错误页面,而不是转到 PayPal 结帐。有什么猜测吗?

这是从 Paypal 提供的原始代码:

<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="6AC376J2R3286">
<table class="paypal">
<tr><td><input type="hidden" name="on0" value="Escolha a box de presente">Escolha a box de presente</td></tr><tr><td><select name="os0">
<option value="Original Mini" class="vezes">Original Mini R$59,00</option>
<option value="Original Normal">Original Normal R$99,00</option>
<option value="Original Familia">Original Familia R$159,00</option>
<option value="Superfoods Mini">Superfoods Mini R$59,00</option>
<option value="Superfoods Normal">Superfoods Normal R$99,00</option>
<option value="Kids">Kids R$69,00</option>
<option value="Sweet">Sweet R$69,00</option>
</select> </td></tr>
<tr><td><input type="hidden" name="on1" value="Nome do presenteado">Nome do presenteado</td></tr><tr><td><input type="text" name="os1" maxlength="200"></td>    </tr>
<tr><td><input type="hidden" name="on2" value="Endereço completo (com CEP)">Endereço completo (com CEP)</td></tr><tr><td><input type="text" name="os2" maxlength="200"></td></tr>
</table>
<input type="hidden" name="currency_code" value="BRL">
<input type="image" src="https://www.paypalobjects.com/pt_BR/BR/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal - A maneira fácil e segura de enviar pagamentos online!">
<img alt="" border="0" src="https://www.paypalobjects.com/pt_BR/i/scr/pixel.gif" width="1" height="1">
</form>

这是自定义表单:

<style> div.colunaOpt {
  float: left;
  width: 50%;
}
.paypal_btn {
  font-family: "bree", sans-serif;
  font-style: normal;
  font-weight: 600;
  font-size: 21px;
  font-weight: bold;
  color: #512F2E;
  text-align: center;
  padding: 5px 20px 5px 20px;
  margin: 0;
  background: #FFCF01;
  border: 0;
  border-radius: 5px;
  cursor: pointer;
  outline: none;
}
.paypal_btn:hover {
  background: #FDE24F;
}
.paypal {
  color: #512F2E;
  font-family: "bree", sans-serif;
  font-style: normal;
  font-weight: 300;
  font-size: 16px;
  padding: 10px 0px;
}
.vezes {
  color: #512F2E;
  font-family: "bree", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 13px;
  display: inline-block;
  margin-left: 10px;
  padding: 2px;
}
.alimento {
  width: 224px;
  border-width: 1px;
  background: #E6D2C3;
  border-color: #512F2E;
  border-radius: 5px;
  color: #512F2E;
  font-family: "bree", sans-serif;
  font-style: normal;
  font-weight: 300;
  font-size: 14px;
  padding: 5px;
}
.cep {
  width: 224px;
  height: 70px;
  border-width: 1px;
  background: #E6D2C3;
  border-color: #512F2E;
  border-radius: 5px;
  color: #512F2E;
  font-family: "bree", sans-serif;
  font-style: normal;
  font-weight: 300;
  font-size: 14px;
  padding: 5px;
}
.centerBtn {
  position: absolute;
  left: 50%;
  margin-left: -50px;
  bottom: 0px;
}
</style>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
  <input type="hidden" name="cmd" value="_s-xclick" />
  <input type="hidden" name="hosted_button_id" value="6AC376J2R3286" />
  <div class="colunaOpt">
    <div class="paypal">
      <input type="hidden" name="on0" value="Escolha a box de presente" />Escolha a box de presente
    </div>
    <div>
      <input checked="checked" id="101" name="os0" type="radio" />
      <label value="Original Mini" for="101" class="vezes">Original Mini</label>
      <br/>
      <input id="102" name="os0" type="radio" />
      <label value="Original Normal" for="102" class="vezes">Original Normal</label>
      <br/>
      <input id="103" name="os0" type="radio" />
      <label value="Original Familia" for="103" class="vezes">Original Família</label>
      <br/>
      <input id="201" name="os0" type="radio" />
      <label value="Superfoods Mini" for="201" class="vezes">Superfoods Mini</label>
      <br/>
      <input id="202" name="os0" type="radio" />
      <label value="Superfoods Normal" for="202" class="vezes">Superfoods Normal</label>
      <br/>
      <input id="301" name="os0" type="radio" />
      <label value="Kids" for="301" class="vezes">Kids</label>
      <br/>
      <input id="401" name="os0" type="radio" />
      <label value="Sweet" for="401" class="vezes">Sweet</label>
      <br/>
    </div>
  </div>
  <div class="colunaOpt">
    <div class="paypal">
      <input type="hidden" name="on1" value="Nome do presenteado" />Nome do presenteado</div>
    <div>
      <input type="text" name="os1" maxlength="200" class="alimento" />
    </div>
    <div class="paypal">
      <input type="hidden" name="on2" value="Endereço completo (com CEP)" />Endereço completo (com CEP)</div>
    <div>
      <textarea name="os2" maxlength="900" class="cep"></textarea>
    </div>
  </div>
  <br/>
  <br/>
  <div class="centerBtn">
    <input type="hidden" name="currency_code" value="BRL" />
    <input type="submit" value="COMPRAR" name="submit" title="PayPal - A maneira fácil e segura de enviar pagamentos online!" class="paypal_btn" />
    <img alt="" border="0" src="https://www.paypalobjects.com/pt_BR/i/scr/pixel.gif" width="1" height="1" />
  </div>
</form>

我还添加了 JSFiddle here 。我知道这可能很简单,但我找不到错误。

【问题讨论】:

    标签: html css paypal


    【解决方案1】:

    解决了!如果有人有类似的问题,这里的问题是: 而不是在标签中写入值,它们应该在输入中。

    错误

    <input checked="checked" id="101" name="os0" type="radio"/>
    <label value="Original Mini" for="101" class="vezes">Original Mini</label>
    

    正确

    <input checked="checked" id="101" name="os0" value="Original Mini" type="radio"/>
    <label for="101" class="vezes">Original Mini</label>
    

    JSFiddle

    【讨论】:

      猜你喜欢
      • 2011-09-23
      • 1970-01-01
      • 2013-04-04
      • 1970-01-01
      • 2021-12-13
      • 2012-01-07
      • 1970-01-01
      • 2022-01-10
      • 2019-10-11
      相关资源
      最近更新 更多