我正在开发MVC项目,我需要使用具有授权和捕获功能的自适应链式支付系统。
现在,我正在关注此链接: -
https://xadaptivepayments.codeplex.com/
此代码适用于在多个帐户中转移付款。但我不知道如何在重定向到沙盒帐户进行付款时添加paymentaction参数,以便卖家可以获取付款。
我的守则如下: -
IPayPalAdaptivePaymentService _paysvc = new PayPalAdaptivePaymentService();
Uri redirectUrl = new Uri(ConfigurationManager.AppSettings["REDIRECT-URL"]);
Uri returnUrl = new Uri(ConfigurationManager.AppSettings["PAYPAL-RETURNURI"]);
Uri cancelUrl = new Uri(ConfigurationManager.AppSettings["PAYPAL-CANCELURI"]);
string str = "asdsadsadsads";
string seller = ConfigurationManager.AppSettings["PAYPAL-SELLER"];
string paymentref = "test123";
string currency = "USD";
List<x.paypal.model.Receiver> receivers = new List<x.paypal.model.Receiver>();
receivers.Add(new x.paypal.model.Receiver { Amount = "3", Email = "payments-facilitator@akaritutoring.com", InvoiceId = str, Description = "test paypal payment" });
receivers.Add(new x.paypal.model.Receiver { Amount = "7", Email = "yashsharmanice1@gmail.com", InvoiceId = str, Description = "test paypal payment 1" });
IPayRequest payRequest = new x.paypal.model.PayRequest().CreateRequest().WithPaymentReference(paymentref).WithReturnUri(returnUrl).WithCancelUri(cancelUrl).Currency(currency).ReceiverList(receivers);
var resp = _paysvc.RequestPayment(payRequest);
return Redirect("https://www.sandbox.paypal.com/us/cgi-bin/webscr?cmd=_ap-payment&paymentaction=authorization&paykey=" + resp.PayKey);
请帮我解决这个问题。
提前致谢...
答案 0 :(得分:1)
actionType
确定自适应付款中的付款操作。
自适应付款中没有sale,order or auth
等付款方式。
您可以使用PAY_PRIMARY
的actionType来延迟付款,以指定向主要接收方付款但不向次要接收方付款。
您需要运行ExecutePaymentAPI才能获取付款
答案 1 :(得分:0)
自适应付款中无法进行授权/捕获,因为它们都位于不同的单独模型中。
但是,您可以使用Preapproval Payments实现自适应付款中的授权/捕获概念。
通过在指定时间段内与买方预先批准特定金额,买方可以通过授予您向其收取未来金额的许可来预先批准。 (授权)
获得预批准密钥后,您现在可以随时向买家收取费用,这与Capture的概念类似。
然后,您将使用preapprovalKey
提供actionType=PAY
并设置<template name="emailForm">
{{#each item in items}}
<input name="email" class="email" placeholder="enter email address">
<button class="addEmail">+</button>
{{/each}}
</template>
向买方收费并将金额分配给主要和次要接收方。
您所指的链接非常陈旧,我不确定它是否可以支持上述方案。您可以尝试研究它以实现上述概念。
如果没有,您可以在此处使用适用于.NET的自适应支付SDK:Pay API operation