Paypal payKey 让我支付错误
Posted
技术标签:
【中文标题】Paypal payKey 让我支付错误【英文标题】:Paypal payKey brings me to incorrect payment 【发布时间】:2016-07-27 16:33:33 【问题描述】:我正在尝试创建一个 API 调用来创建分期付款。在创建AdaptivePaymentService
并调用Pay
方法后,它返回一个显示SUCCESS
的PayResponse
。但是,当我收到payKey
并打开https://www.sandbox.paypal.com/webscr?cmd=_ap-payment&paykey= 的页面时,它会将我带到一些随机页面,该页面通常会显示一些错误,类似于“此交易已被批准。请访问您的 PayPal 帐户概览以查看详细信息。”,在右上角,它会显示“Fiverr.com”或其他一些随机网页。我已经验证我收到的payKey
是与SUCCESS
消息一起发送的,所以我不明白为什么这是无效的。以下代码是我正在使用的。
ReceiverList receiverList = new ReceiverList();
receiverList.receiver = new List<Receiver>();
RequestEnvelope requestEnvelope = new RequestEnvelope("en_US");
Dictionary<string, string> configurationMap = new Dictionary<string, string>();
configurationMap.Add("account1.apiUsername", "----");
configurationMap.Add("account1.apiPassword", "----");
configurationMap.Add("account1.apiSignature", "----");
configurationMap.Add("account1.applicationId", "APP-80W284485P519543T");
configurationMap.Add("mode", "sandbox");
Receiver receiver1 = new Receiver();
receiver1.amount = ((decimal?)9.00);
receiver1.email = "rbxtrade-seller@gmail.com";
receiverList.receiver.Add(receiver1);
Receiver receiver2 = new Receiver();
receiver2.amount = ((decimal?)2.00);
receiver2.email = "rbxtrade-buyer@gmail.com";
receiverList.receiver.Add(receiver2);
PayRequest request = new PayRequest(requestEnvelope, "PAY", "https://devtools-paypal.com/guide/ap_parallel_payment/dotnet?cancel=true", "USD", receiverList, "https://devtools-paypal.com/guide/ap_parallel_payment/dotnet?success=true");
AdaptivePaymentsService service = new AdaptivePaymentsService(configurationMap);
PayResponse response = service.Pay(request);
if (!response.responseEnvelope.ack.ToString().Trim().ToUpper().Equals(AckCode.FAILURE.ToString()) && !response.responseEnvelope.ack.ToString().Trim().ToUpper().Equals(AckCode.FAILUREWITHWARNING.ToString()))
Process.Start("https://www.sandbox.paypal.com/webscr?cmd=_ap-payment&paykey=" + response.payKey); //opens the webpage
else
Console.WriteLine("E:" + String.Join("\n", response.error.Select((x) => x.message)));
【问题讨论】:
【参考方案1】:我目前在 java 中遇到了这个问题。
尝试返回:“https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_ap-payment&paykey=”+ paykey。它应该与此一起使用。
这是我找到的所有东西,但它对我不起作用。
【讨论】:
没关系!这实际上解决了它!我不知道我使用的是什么奇怪的 URL,这让它工作了!一百万谢谢! 嗯,错误似乎又发生了,但安装 Cookie 编辑器并清除所有 .paypal cookie 似乎可以解决问题。奇怪,因为我在多台机器上遇到了同样的问题。呵呵。 那么我应该怎么做才能让它工作呢?我正在使用此 URL,但它不起作用。你是说我应该清除 cookie? 尝试清除浏览器中的所有 cookie,然后使用提供的链接。 它适用于另一个浏览器。饼干确实是问题所在。谢谢以上是关于Paypal payKey 让我支付错误的主要内容,如果未能解决你的问题,请参考以下文章
从 PayPal 检索 PayKey 时出现错误 580022(无效的 AccountID)。应该在接收者的 AccountID 中放置啥以及在哪里可以找到该信息?