C# Paypal payKey给我带来了不正确的付款

C# Paypal payKey给我带来了不正确的付款,c#,paypal-sandbox,paypal-adaptive-payments,paypal,C#,Paypal Sandbox,Paypal Adaptive Payments,Paypal,我正在尝试创建一个API调用来创建拆分付款。创建AdaptivePaymentService并调用Pay方法后,它返回一个PayResponse,显示成功。然而,当我获得支付密钥并在打开页面时,它会将我带到一个随机页面,该页面通常会显示一些错误,大意是“此交易已被批准。请访问您的PayPal帐户概览以查看详细信息”。在右上角,它会显示“Fiverr.com”或其他随机网页。我已经验证了我正在接收的payKey是与SUCCESS消息一起发送的,所以我不明白为什么这是无效的。下面的代码是我正在使用的

我正在尝试创建一个API调用来创建拆分付款。创建
AdaptivePaymentService
并调用
Pay
方法后,它返回一个
PayResponse
,显示
成功
。然而,当我获得
支付密钥并在打开页面时,它会将我带到一个随机页面,该页面通常会显示一些错误,大意是“此交易已被批准。请访问您的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)));
        }
ReceiverList ReceiverList=new ReceiverList();
receiverList.receiver=新列表();
RequestEnvelope RequestEnvelope=新的RequestEnvelope(“en_US”);
Dictionary configurationMap=新字典();
configurationMap.Add(“account1.apiUsername”,“---”);
configurationMap.Add(“account1.apiPassword”和“----”);
configurationMap.Add(“account1.apiSignature”、“---”);
configurationMap.Add(“account1.applicationId”,“APP-80W284485P519543T”);
添加(“模式”、“沙盒”);
接收方1=新接收方();
收款人1.金额=(十进制?)9.00;
接收人1.email=“rbxtrade-seller@gmail.com";
接收人列表。接收人。添加(接收人1);
接收方接收方2=新接收方();
收款人2.金额=(十进制?)2.00;
接收人2.email=“rbxtrade-buyer@gmail.com";
接收者列表。接收者。添加(接收者2);
PayRequest=新的PayRequest(请求信封,“支付”https://devtools-paypal.com/guide/ap_parallel_payment/dotnet?cancel=true“,”美元“,”收款人名单,“https://devtools-paypal.com/guide/ap_parallel_payment/dotnet?success=true");
AdaptivePaymentsService=新的AdaptivePaymentsService(配置图);
PayResponse响应=service.Pay(请求);
如果(!response.responseEnvelope.ack.ToString().Trim().ToUpper().Equals(AckCode.FAILURE.ToString())和&!response.responseEnvelope.ack.ToString().Trim().ToUpper().Equals(AckCode.FAILUREWITHWARNING.ToString())
{
进程启动(“https://www.sandbox.paypal.com/webscr?cmd=_ap-payment&paykey=“+response.paykey);//打开网页
}
其他的
{
Console.WriteLine(“E:+String.Join(“\n”,response.error.Select((x)=>x.message));
}

我目前在java中面临这个问题

尝试返回到以下位置:“+支付密钥”。它应该和这个一起工作


这是我找到的所有东西,但对我不起作用。

别客气!这实际上解决了它!我不知道我使用了什么奇怪的URL,这让它工作了!万分感谢!嗯,似乎错误再次发生,但安装Cookie编辑器并清除所有。paypal cookies似乎解决了这个问题。奇怪,因为我在多台机器上遇到了同样的问题。那我该怎么做才能让它工作呢?我正在使用此URL,但它不起作用。你是说我应该清除Cookie?请尝试清除浏览器中的所有Cookie,然后使用提供的链接。它与其他浏览器一起工作。饼干确实是个问题。谢谢