1

我正在尝试在 ASP.NET C# 代码中使用 SOAP 2.0 API 设置贝宝快速结帐。首先我尝试使用沙盒,我创建了卖家/买家测试账户,导入了 Web 服务,然后我尝试获取令牌,在我的 C# 代码中我有:

        // Create the request object
        SetExpressCheckoutRequestType pp_request = new SetExpressCheckoutRequestType();

        // Create the request details object
        pp_request.SetExpressCheckoutRequestDetails = new SetExpressCheckoutRequestDetailsType();
        pp_request.SetExpressCheckoutRequestDetails.PaymentAction = paymentAction;
        pp_request.SetExpressCheckoutRequestDetails.PaymentActionSpecified = true;

        pp_request.SetExpressCheckoutRequestDetails.OrderTotal = new BasicAmountType();

        pp_request.SetExpressCheckoutRequestDetails.OrderTotal.currencyID = currencyCodeType;
        pp_request.SetExpressCheckoutRequestDetails.OrderTotal.Value = paymentAmount;

        pp_request.SetExpressCheckoutRequestDetails.CancelURL = cancelURL;
        pp_request.SetExpressCheckoutRequestDetails.ReturnURL = returnURL;

        SetExpressCheckoutResponseType response = (SetExpressCheckoutResponseType) caller.Call("SetExpressCheckout", pp_request);

但在该代码的最后一行,它会引发错误:

请求被中止:无法创建 SSL/TLS 安全通道。

我做错了吗?谢谢。

4

1 回答 1

1

您的代码当然看起来是正确的,但 PayPal API 在涉及到一些事情时可能会很挑剔。需要注意的一件事是,当付款金额未四舍五入到小数点后 2 位时,它会产生异常 - 您可以尝试确保是这种情况吗?

还要确保您的配置值是正确的。除此之外,您发布的代码正是我用于 SOAP API 的代码。

我不久前停止使用 SOAP API,转而使用 NVP API,在我看来这更容易处理:https ://cms.paypal.com/uk/cgi-bin/?cmd=_render-content&content_ID =developer/e_howto_api_nvp_NVPAPIOverview

我提供了一个库来为您完成所有工作:https ://github.com/davidduffett/Moolah

此处的说明准确显示了如何使用 PayPal Express Checkout:https ://github.com/davidduffett/Moolah#paypal-express-checkout

于 2013-05-04T12:03:10.010 回答