【问题标题】:Using Paypal REST API with Classic ASP将 Paypal REST API 与经典 ASP 结合使用
【发布时间】:2016-11-25 00:59:23
【问题描述】:

我正在尝试使用以下代码对 Paypal API 进行简单调用:

On error resume next

Set objHTTP = CreateObject("Microsoft.XMLHTTP")
objHTTP.open "POST", "https://api.sandbox.paypal.com/v1/oauth2/token", False

objHTTP.setRequestHeader "Accept", "application/json"
objHTTP.setRequestHeader "Accept-Language", "en_US"
objHTTP.setRequestHeader "Authorization", "Basic " & Base64Encode("client-id:secret")
objHTTP.send "grant_type=client_credentials"

Response.Write err.description & " | " & err.number

但它返回错误:

The download of the specified resource has failed

我可以毫无问题地使用 de Postman 进行此呼叫。我在本地主机中,我没有在我的网站上使用 SSL(不知道它是否会影响)。

【问题讨论】:

  • 试试Set objHTTP = Server.CreateObject("Msxml2.ServerXMLHTTP.6.0") - 如果您使用的是最新版本的 MSXML,有时类似的脚本效果会更好
  • 现在返回错误:“需要证书才能完成客户端身份验证”,我不知道从哪里获得此证书
  • 我遇到了类似的问题。我收到的错误消息是“收到的消息意外或格式错误。”

标签: rest paypal asp-classic


【解决方案1】:

已解决:感谢 Paypal 支持和我们的 ISP,我们终于设法与 REST 对话。 需要使用证书,要指定证书,您需要 ServerXMLHTTP 对象。

 objHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP.6.0");

 objHTTP.setOption(3, "LOCAL_MACHINE\\My\\merchant-cert_api1.paypal.com");

这与实时端点开箱即用,但沙盒返回:“安全通道支持中发生错误”。原因是沙盒不再支持 TLSv1.1。为了使 ServerXMLHTTP 对象支持 TLSv1.2,您需要在 64 位而不是 32 位中运行 Classic ASP。

【讨论】:

    【解决方案2】:

    为了解决我的问题,我正在使用 NVP API,现在我正在做这样的事情

    Set objHTTP = CreateObject("Msxml2.ServerXMLHTTP.6.0")
    objHTTP.open "POST", "https://api-3t.sandbox.paypal.com/nvp", False
    
    Dim data
    data = "USER=" & paypal_user_name &_
    "&PWD=" & paypal_psw &_
    "&SIGNATURE=" & paypal_signature &_
    "&VERSION=204.0" &_
    "&RETURNURL=" & return &_
    "&CANCELURL=" & cancel &_
    "&PAYMENTREQUEST_0_PAYMENTACTION=Sale" &_
    "&PAYMENTREQUEST_0_AMT=" & Request.QueryString("val") &_
    "&PAYMENTREQUEST_0_CURRENCYCODE=BRL" &_
    "&L_PAYMENTREQUEST_0_NAME0=" & Request.QueryString("pac") &_
    "&L_PAYMENTREQUEST_0_AMT0=" & Request.QueryString("val") &_
    "&NOSHIPPING=1" &_
    "&METHOD=SetExpressCheckout"
    
    objHTTP.send data
    

    而且它工作得很好

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-04
      • 2013-11-29
      • 2014-01-18
      • 1970-01-01
      • 1970-01-01
      • 2015-01-16
      相关资源
      最近更新 更多