问题描述
https://developer.paypal.com/developer/applications/
当我单击创建的应用程序时,会看到以下内容:
沙箱帐户,客户ID和机密。
我正在尝试调用SetExpressCheckout…,但文档尚不清楚,示例无所不在。
基本上我看到的是这样的东西
var request = new SetExpressCheckoutReq() { … };
var config = new Dictionary<string,string>()
{
{ "mode","sandBox" },// some variations of these values
{ "clientId","fromAbovePage" },{ "clientSecret",{ "sandBoxAccount",{ "apiUsername","IDontKNow" },{ "apiPassword",{ "apiSignature","IDontKNow" }
};
var service = new PayPalAPIInterfaceServiceService(config);
var response = service.SetExpressCheckout(request,new SignatureCredential(config["apiUsername"],config["apiPassword"],config["apiSignature"]));
此外,在PayPalAPIInterfaceServiceService和实际的SetExpressCheckout调用中都使用凭据是很奇怪的。
什么是上述配置的正确值(以及在哪里获取)? (我已经很清楚了这个请求本身)
注意:贝宝(PayPal)支持人员告诉我,我需要使用参考交易子(Transacton),以便在可能的变化时间内对变化的金额进行收费,而无需后续的用户交互。
如果有人也知道最新的API,我很乐意看到此类示例。
谢谢。
解决方法
SetExpressCheckout是传统的NVP API
- 对于沙盒,它使用https://www.paypal.com/signin?intent=developer&returnUri=https%3A%2F%2Fdeveloper.paypal.com%2Fdeveloper%2Faccounts%2F中的沙盒帐户“配置文件”中的凭据
- 实时{@ {3}}
ClientID / Secret凭证用于当前的v2 / checkout / orders REST API,该API目前没有任何用于存储或参考交易的公共文档;这是一次付款。您可以在https://www.paypal.com/api
中找到有关服务器端集成的信息。如果您正在使用此REST API集成,请创建两条路由-一条用于“设置交易”,一条用于“创建交易”。然后将它们与以下批准流程配对:https://developer.paypal.com/docs/checkout/reference/server-integration/