1

我正在使用 Angular JS 向支付网关发送一些数据。

curl 根据文档发送数据的语法是:

curl https://www.mybank.co.uk/3dsecure
-H "Content-type: application/x-www-form-urlencoded"
-X POST
-d 'TermUrl=https://www.yourmerchantsite.co.uk/3DSecureConfirmation&PaReq=value-of-oneTime3DsToken&MD=merchantdatavalue'

但是,当我在 Angular 中执行此操作时:

 $http({
         method: 'POST',
         url: 'url',
         headers: {'Content-Type': 'application/x-www-form-urlencoded',
                               'Accept': 'text/html'
                               },
         data: $.param({TermUrl: obj.TermUrl ,Pareq:  obj.Pareq }),

   })

我收到错误

     Possibly unhandled rejection: {"data":"<html><head><title>400 Bad 
     Request</title></head><body><h1>Bad Request</h1></body>
           </html>","status":400,"config":
          {"method":"POST","transformRequest":[null],"transformResponse":
         [null],"jsonpCallbackParam":"callback","url":"payement gatway 
     url","headers":{"Content-Type":"application/x-www-form-urlencoded",
    "Accept":"text/html,application/xhtml+xml"},"data":"TermUrl=url&Pare
    q=value"},"statusText":"Bad Request","xhrStatus":"complete"}

请建议如何进行这个?

4

2 回答 2

0

查看 3D Secure 的 API 参考,您应该会在 http 状态代码旁边返回详细的错误代码: https ://developer.paysafe.com/en/3d-secure/api/#/introduction/error-summary/common-errors

它应该很容易调试。

于 2018-01-22T13:41:02.630 回答
0

首先,您遇到的是 400 Bad Request ( https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 ) 而不是 404 Not Found。

这通常意味着您没有向服务器发送正确的数据,并且 API 需要一些特定的参数(通常来自正文)。

检查 API,查看它所需的每个参数 - 它们的类型以及它们应该如何发送(正文参数?查询字符串?等等......)。

您可以使用浏览器网络选项卡或 Postman 等工具来查看您实际发送到服务器的内容,以及它是否与服务器期望您发送的内容相匹配。

于 2018-01-22T13:15:28.953 回答