【发布时间】:2017-04-04 07:16:11
【问题描述】:
我们按照以下方式实现了上述内容:
我们正在将PayPal .NET SDK 与公共网站集成,而无需使用 PayPal 的内置按钮(立即购买等)。流程如下:
- 用户单击一个常规 ASP.NET MVC 按钮,该按钮调用一个 Action 方法,该方法创建一个具有所有必要属性集(交易、网址、金额、数量等)的支付对象。
- 上述操作方法调用必要的 PayPal .NET SDK API,连接到显示自己的用户登录页面的 PayPal,验证显示的金额,通过单击提交按钮进行批准
- PayPal - 在批准后 - 将响应发送回我们执行一些后台任务的地方,如果一切正常,我们的“付款成功”页面就会显示出来。
注意:我们的代码也使用了 PayPal 的 Webhook 功能。
问题:我们已经在 PayPal 的 SandBox 上测试了上述过程,它运行良好。我们是否缺少某些东西和/或 PayPal 的内置按钮(“立即购买”等)是必要的?该应用程序用于一次销售一件商品(数字下载)。
【问题讨论】:
-
您是否使用正确的密钥来验证您的请求?
-
@ZamronyP.Juhara 是的,我愿意。在他们的示例项目here 中,他们使用配置类来获取
var apiContext = PayPalConfiguration.GetAPIContext();等。例如:string accessToken = new OAuthTokenCredential (ClientId, ClientSecret, GetConfig()).GetAccessToken();。在asspsettings.json中,我们设置了clientId、clientSecret 等。我将APIContext对象传递给authenticate调用并发送一个唯一的请求ID(确保幂等性)。如果您没有显式传递一个请求 ID,SDK 会生成一个请求 ID。你指的是这个吗?
标签: asp.net-mvc paypal paypal-sandbox paypal-rest-sdk paypal-webhooks