平台M2.3.4
日期: 2020年4月29日
情况:Redis 和 Varnish 设置中存在配置错误,导致结帐问题,由于结帐会话内存过载过多,导致结帐时间比用户预期的时间长得多。客户可以将产品添加到购物车中,继续结帐并单击“下订单”。
遇到错误:通过卡付款时,通过 PayPal 付款时出现严重错误,轮子永远旋转。
经过调查,付款成功,有时付款次数很多,因为他们认为事情失败并再次尝试。所有订单在支付提供商平台上都有订单号,例如 PayPal、Adyen、Amazon Pay。 然而,这些在 Magento 中并不存在。我们希望处理这些订单,但支付系统中没有足够的订单详细信息,例如产品信息(颜色尺寸/款式)。
对于等待 3-4 分钟页面完成并看到成功页面的客户,订单已在 Magento 后端成功创建。
有没有办法完成订单并在 Magento 2 中创建它,因为它似乎已经为 PayPal 和 Adyen 等支付系统中的交易分配了订单号,但 Magento 可见视图中没有订单?
订单号示例为 000046777
我正在尝试使用PHP API进行亚马逊的灵活付款.
这是我发送付款请求的PHP代码段:
<?php
$string_to_sign = 'GET
authorize.payments-sandbox.amazon.com
/cobranded-ui/actions/start
SignatureMethod=HmacSHA256&SignatureVersion=2&callerKey=my_access_key&callerReference=YourCallerReference&paymentReason=donation&pipelineName=SingleUse&returnUrl=http%3A%2F%2Fproblemio.com&transactionAmount=4.0';
$encoded_string_to_sign = URLEncode(Base64_Encode(hash_hmac('sha256', $string_to_sign, 'my_secret_key')));
$amazon_request_sandbox = 'https://authorize.payments-sandbox.amazon.com/cobranded-ui/actions/start?SignatureVersion=2&returnUrl='.$return_url.'&paymentReason='.$payment_reason.'&callerReference=YourCallerReference&callerKey='.$my_access_key_id.'&transactionAmount=4.0&pipelineName=SingleUse&SignatureMethod=HmacSHA256&Signature='.$encoded_string_to_sign;
// When it goes to the url, it gets the invalid signature error
header('Location: '.$amazon_request_sandbox);
?>
Run Code Online (Sandbox Code Playgroud)
这似乎遵循了他们的指示,但我无法克服这个错误.
谢谢!!
我错过了什么,但我无法弄清楚是什么.我正在我的网站上实施Pay with Amazon并逐步遵循他们的实施指南,但我仍然遇到问题.
我已经获得了地址和钱包小部件来渲染,但不是看起来像
相反,它看起来像 
我正在尝试获取订单详细信息,以便在选择地址时显示送货选项,然后在选择付款选项时显示购物车.
但我没有运气.我研究了各种网站和文档,他们都说同样的,我看不出我哪里出错了.
这是地址小部件:
<div id="addressBookWidgetDiv" style="width:400px; height:240px;padding-top:20pt"></div>
<script>
new OffAmazonPayments.Widgets.AddressBook({
sellerId: 'SELLER_ID',
onOrderReferenceCreate: function(orderReference) {
orderReference.getAmazonOrderReferenceId();
},
onAddressSelect: function(orderReference) {
GetOrderReferenceDetails();
},
design: {
designMode: 'responsive'
},
onError: function(error) {
// your error handling code
}
}).bind("addressBookWidgetDiv");
</script>
Run Code Online (Sandbox Code Playgroud)
这是钱包:
<div id="walletWidgetDiv">
</div>
<script>
new OffAmazonPayments.Widgets.Wallet({
sellerId: 'YOUR_SELLER_ID_HERE',
onPaymentSelect: function(orderReference) {
// Replace this code with the action that you want to perform
// after the payment method is selected.
},
design: {
designMode: …Run Code Online (Sandbox Code Playgroud) 下面是用于创建无法使用并引发错误“未知订单/ 1 / s /”的别名的代码。如果删除Alias的代码,则相同的代码可用于付款。不知道我在想什么?我可以登录到epdq barclaycard帐户,看到错误为“ unknown order / 1 / s /”。我也可以通过epdq帐户手动创建Alias,但无法无错误地进入orderstandard.asp页(使用别名隐藏字段和代码时)。
如果有人可以帮助我,我会很高兴。
<body>
<form id="OrderForm" action="https://payments.epdq.co.uk/ncol/prod/orderstandard.asp" method="post" runat="server">
<div>
<asp:HiddenField ID="AMOUNT" runat="server" />
<asp:HiddenField ID="CN" runat="server" />
...
<asp:HiddenField ID="ALIAS" runat="server" />
<asp:HiddenField ID="ALIASUSAGE" runat="server" />
<asp:HiddenField ID="ALIASOPERATION" runat="server" />
<asp:HiddenField ID="SHASign" runat="server" />
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text; //for Encoding
using System.Security.Cryptography; //for SHA1
public partial class _DefaultAliasTest : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ …Run Code Online (Sandbox Code Playgroud)