- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在测试使用 PHP 动态创建的基本 PayPal 按钮表单,并在页面加载时短暂延迟后使用 JS 提交到沙箱。大约一半的时间它工作正常,大约一半的时间 PayPal 以 500 错误响应。当我遇到错误时,我可以返回浏览器并让它重新提交完全相同的表单,在这一点上,它有时会再次工作,有时会出现错误。
任何想法将不胜感激。这可能是某种 cookie 问题吗?我已经向 PayPal 提交了一张票——还没有回复。谢谢!
编辑:这是相关代码。这是一个 Drupal 8 站点,它位于一个使用 Form API 的自定义模块中,用于多步骤表单。 buildForm()
被调用(然后是 validateForm()
),然后是 submitForm()
。本例中的流程在构建“步骤”3 之后开始。客户点击“支付”,submitForm()
被调用。
public function buildForm(array $form, FormStateInterface $form_state) {
...
//'step' 3
...
//'step' 4 is just to redirect to PayPal
elseif ($form_state->get('step') == 4) {
//prints in main form content area
$form['redirecting'] = array(
'#type' => 'html_tag',
'#tag' => 'div',
'#value' => $this->t('Redirecting to PayPal...'),
);
}
...
}
public function submitForm(array &$form, FormStateInterface $form_state) {
...
//called after 'step' 3
//gets id of record just inserted into database
$paypal_invoice = $query->execute()->fetchField();
$paypal_item_name = '[name of item]';
$paypal_amount = $form_state->getValue('amount');
$token = bin2hex(openssl_random_pseudo_bytes(16));
$paypal_html =
'<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" target="_top" id="paypal_form">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="______________">
<input type="hidden" name="lc" value="US">
<input type="hidden" name="invoice" value="' . $paypal_invoice . '">
<input type="hidden" name="item_name" value="' . $paypal_item_name . '">
<input type="hidden" name="amount" value="' . $paypal_amount . '">
<input type="hidden" name="button_subtype" value="services">
<input type="hidden" name="no_note" value="1">
<input type="hidden" name="no_shipping" value="1">
<input type="hidden" name="rm" value="1">
<input type="hidden" name="return" value="http://__________________">
<input type="hidden" name="cancel_return" value="http://______________?cancel=1&token=' . $token . '">
<input type="hidden" name="currency_code" value="USD">
</form>
<script type="text/javascript">
window.onload = setTimeout(function() {
document.getElementById("paypal_form").submit();
}, 4000);
</script>';
//make sure html tags are evaluated
$rendered_message = \Drupal\Core\Render\Markup::create($paypal_html);
//string will be added to message area of form when 'step' 4 is loaded with buildForm()
drupal_set_message($rendered_message);
$form_state->set(['step'], 4);
...
}
最佳答案
回答我自己的问题以防对其他人有帮助:这是一个 PayPal 沙盒问题。
我在 PayPal 网站上生成了一个等效的按钮表单,在我的代码之外多次将其提交到沙箱,并遇到了类似的间歇性 500 错误。
然后我将代码中的引用切换到实时 PayPal 信息,运行了很多次(没有完成交易),没有出现任何错误。
因此,沙盒配置与实时配置有所不同,导致了这种情况(可能是内存问题?)。这一定不是一个独特的情况,因此令人沮丧的是 PayPal 没有记录沙箱的限制。但很高兴继续前进似乎没问题。
编辑:这是 PayPal 的确认回复。
We are aware of some issues with our PayPal Sandbox that intermittently causes a valid request to fail with a 500 Internal Server Error. Our developers are working on this issue and I will update you when the issue has been fully resolved.
Please note that this issue is only affecting the sandbox environment. No impact has been noted on the production environment.
进一步编辑:从 PayPal 更新。
Thank you for your patience as we tracked down the source of the instability on our Sandbox environment.
The PayPal engineers have resolved the issue that was resulting in the frequent Internal Server Errors. However, they have indicated that all requests should be going to the https://www.sandbox.paypal.com/ domain. If your integration is sending to https://sandbox.paypal.com (no www), then you may still experience some latency. Please update your integration, if this is the case for you, to include the www.
关于paypal - 使用 JavaScript 提交 PayPal 按钮时出现间歇性 500 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43599121/
如果我的交易中的次要收款人没有 Paypal 帐户,会发生什么情况。他会收到要求他创建 Paypal 帐户的通知,还是 API 调用不会成功? 我几乎无法知道销售服务的用户在注册我的平台时是否有Pay
我们知道有这么多的支付网关服务提供商,即 Paypal ,moneybrookers,authorize.net以及许多国内和国际的支付网关提供商。现在,我的问题是,开发我们自己的支付网关服务以处理世
我们正在寻求替代我们对 Authorize.net 的使用。我花了很多时间查看 PayPal 文档,但找不到我的问题的明确答案: 使用 thousand 数十种不同的 PayPal API 可以在我们
我实际上是在为客户工作。我已经在网站上成功实现了 paypal pro,并且一切正常,我相信我遵循了他们的流程和指南,使它按照他们的意思工作。 因此,我一直在阅读 this webpage将网站投入生
我有2件商品要出售。我的运输底价为7.50美元,每增加一个项目,则为2.00美元 我已经设置了高级代码 运费= $ 7.50 运费2 = $ 2.00 一切正常,除非在购物车中添加了其他商品后,购物车
我想在不使用购物车的情况下实现一个不太复杂的解决方案。 我在自己对这个问题的回答中详细说明了解决方案,但如果有人能提出更好的方法,我会很高兴。 谢谢 最佳答案 实际上我最近不得不这样做。毫无疑问,我的
我创建了一个带有默认支付网关的shopify 小商店,即paypal express checkout。 当客户点击 Paypal 结帐按钮时,他们被要求输入他们的信用卡号并输入电子邮件并选择密码以注
一段时间以来,我一直在运行一个网站,该网站通过向 Paypal 网站发送一个 notify_url 来记录 Paypal 交易,并监听该 notify_url。我的监听页面解析从 paypal 发送的
我在网络应用程序中使用 PayPal Subscribe 按钮。我想将订阅开始日期传递给 PayPal,这不会总是今天的日期。 通常情况下,如果没有有效订阅,PayPal 会创建一个从今天开始的订阅。
大家好,我遇到了“立即购买”paypal 按钮这个令人沮丧的问题。 我希望我的客户能够通过 paypal 使用借记卡/信用卡付款,而无需创建 paypal 帐户,同时我希望能够根据产品类型将不同的定价
我想实现 paypal 授权并自动获取付款。我用过 Paypal 标准账户。我已发送带有授权参数的付款请求。
我想在我的 Paypal 沙盒账户中测试批量支付。根据 paypal 文档,它描述了将资金转移到 paypal 帐户的步骤。但我想转账到我客户的银行账户。我该怎么做? 仅供引用:PayPal 文档内容
我正在尝试登录我的沙盒帐户(使用 chrome),但由于 paypal 的新变化我不能。 Paypal 现在要求我登录开发者网站。我愿意。 然后我转到应用程序->沙盒帐户,然后按“sanbox 站点”
我有一个支持 Paypal 付款的 opencart 系统。是否有允许用户(信用卡)付款而无需强制注册 Paypal 帐户的选项。到目前为止,我使用的是 paypal 标准模块。 最佳答案 使用 Pa
我可以使用 Paypal ID 和密码使用 Paypal 详细信息进行付款而无需重定向到 Paypal 网站吗?我想在不离开我的网站的情况下完成所有付款流程。谢谢 最佳答案 您可以使用 PayFlow
当我尝试 https://fpdbs.paypal.com/dynamicimageweb?cmd=_dynamicimage 时,图像损坏了. 这是返回的错误信息: “尝试为应用程序构建 prote
我想向我的客户付款,为此我收到了他们的电子邮件,我想验证电子邮件地址是否存在于 paypal 中! 我搜索并找到了我尝试过的支付身份 API,但它只提供了我的我的数据!这是 LINK那个 API。 我
当从用户的 PayPal 账户中扣款时,PayPal 服务器在一定时间内没有响应(超时)。我们决定假设钱确实已经被拿走了,所以我们会退款。但是,如果钱没有从用户账户中扣除会怎样? PayPal返回什么
我有一个网站可以定期(比如每周一次)从客户那里收到钱。我将我的客户详细信息存储在我的数据库中,我想从我的客户帐户中提取资金,而不是每次都提示他们进行身份验证。金额会因客户而异。我怎样才能用 pay p
我有一个表格,其中一个团队签下他们的球员,然后被运送到 Paypal 进行注册付款,然后当一切都完成后我会收到一个 IPN。我正在做一个类似的表格,发现自从我创建该表格以来,Paypal 发生了很大变
我是一名优秀的程序员,十分优秀!