这已被问过几次,但我还没弄明白如何让它在.NET SDK https://github.com/paypal/PayPal-NET-SDK上运行:
致电后
payment.Create(apiContext)
我通过填充的createdTime,PayID,链接等成功获得回复
现在,当我使用买家/卖家测试帐户登录paypal沙箱时。 我无法看到交易
This热门问题点是致电DoExpressCheckoutPayment
来解决此问题。在对如何使用.NET SDK调用DoExpressCheckoutPayment
进行一些研究之后,我发现的唯一方法是使用以前版本的SDK(https://github.com/paypal/merchant-sdk-dotnet),该版本被标记为已弃用
我想找出一些不应该那么困难的东西 我遵循示例here,我相信它应该可以正常工作
答案 0 :(得分:1)
您所指的SDK适用于(相对)新的 REST API 。
假设您指的是paypal
付款(不是credit_card
),因此您必须execute
- 我将映射到DoExpressCheckoutPayment
} 经典API
SDK有一个示例:在您引用的示例中,您会看到PaymentWithPayPal.aspx.cs
其中execute
call in line 155
credit_card
intent='sale'
的示例(意味着代码验证和一步捕获,或“立即捕获”)位于PaymentWithCreditCard.aspx.cs
... H个
更新
payExecution缺失
实际上它就在lines 146 - 155:
var paymentExecution = new PaymentExecution() { payer_id = payerId };
var payment = new Payment() { id = paymentId };
// ^ Ignore workflow code segment
#region Track Workflow
this.flow.AddNewRequest("Execute PayPal payment", payment);
#endregion
// Execute the payment.
var executedPayment = payment.Execute(apiContext, paymentExecution);
H个..
答案 1 :(得分:0)
你是对的。遗漏了paymentExecution
令人遗憾的是SDK样本不完整。我会尝试联系作者,因为我不会像其他人那样陷入困境。
检查paypal REST API doc后我确实工作了 我建议您浏览此doc而不是.NET SDK示例