c# - 尝试通过 POST 请求向第三方支付网关提交付款:S
问题描述
我正在模仿一个用户在网站上购买产品:www.footlocker.dk。一切正常,HTTP 会话将产品添加到购物车,提交交付信息和个人信息。但是,我已经进入了付款详细信息字段,例如 CardNumber、ExpireMonth、ExpireYear 和 CVC。当我手动按下下订单按钮时,我可以看到这个 POST 请求正在 Fiddler 中提交。
然而,我的支付信息的值已被支付网站上的一些 javascript 加密,所以我无法看到它们是如何提交的——这意味着我无法在我自己的程序中模仿这个 POST 请求来完成订单。
提交付款的 POST 请求如下所示:
提交给端点:
https://www.footlocker.dk/api/users/orders/adyen?timestamp=1611850342216
JSON 后正文:
{
"preferredLanguage": "en",
"termsAndCondition": true,
"deviceId": "0400JapG4txqVP4Nf94lis1ztlZtWBcopyaUnrp/XmcfWoVVgr+Rt2dAZDBTRGtjJzbbaHjoci9mfzLNc/p/1y9PHkhCTHg+Ms0Qhlz5wlRFwWJi0FRulruXQQGCQaJkXU7GIVTlvSwewS7rEwtO20alTVOiwQNAcAt1k+2RqB7pLlm0Mm+WlZ9H3WRaXzrV/DlB6Yf0/pTJUUx5H73J7OWoNgydKgnOIDKXq4HnEqNOos1c6njJgQh/4vXJiqy0MXMQVHUZjFVALWCMcmjVhyuVdYFO8Jh9loc13GcXvYqG6g9/AoNntrnW1/EViOkl5oC/lU99UoH2xkmTfT0fHtASOVNpC3Z/r4RJ+FMEqKbpAljKJas3DjbfmNmLM17uWY0fNZvlMH4K2bNfq3bGwE2owA1ObvoNZBxkQ1iq1uTKn17MrJkKSmGA0t9uKT78fS9bB2GDXcjpghm9klVFOw7EoYzV7IDBIIRtOCWnMAmlqCrz6D+YNUMLEY530CaM8EgnYIxkTrOGlmKC/wYNvbPpWGE7VDaOZWB8Og9w7I7EUjZQzmeZ0haCTC7oH6vxOQu/JpQYAFUrDlcsqHxMRyMA3chuABxG1NyMp164XJzuFIDBKSaGqH8pKTFdh3l37CKXBlIOn3E5YIdc6njJgQh/4vXJiqy0MXMQOxLdmoenKqPRDDLX2e+wCZ1fN2xHc5V6RMvwb6Q2PAvL9kaL85lzU9YPUST3gTYnndnF9oBO0EuFJ7eNbvVobQHzj486sjgyUO+AInpd+UykzlhvKatVjmsNYyYk/ctdj9Vx2xW1nbvSIBfLN+R0M79MOnRTMthLnHsVWF4lmJwstDDhGcf4uznBcyAkSsy2uwLLNTE9qpz4XGNSvOUTVPP9hlwYbP0H7RDoeOmIGTKRUY1DfwxZZR8cFUL9uLsiABD7fKaFmF1HOvwyiaHWP/wYCL58YnyFO5CLi14h8zUnzqtbxtgjnzbD/ssFgrRT",
"cartId": "8e02b07e-2a21-417d-b34b-06621164cec0",
"encryptedCardNumber":xxx,
"encryptedExpiryMonth":xxxx,
"encryptedExpiryYear":xxxx,
"paymentMethod": "CREDITCARD",
"returnUrl": "https://www.footlocker.dk/adyen/checkout",
"browserInfo": {
"screenWidth": 1382,
"screenHeight": 864,
"colorDepth": 24,
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:86.0) Gecko/20100101 Firefox/86.0",
"timeZoneOffset": -60,
"language": "da",
"javaEnabled": false
}
}
这个帖子请求还发送了 cookie 和标头,但是我对它们非常了解,所以我不打算将它们粘贴在这里。我正在寻找一种方法来弄清楚如何在我的程序中发送此 POST 请求,以便提供商接受我的付款并订购产品。我不知道该怎么做,当我看不到表单应该是什么样子时,我的简单付款详细信息是未加密的。
希望有人可以帮助我对此有所了解,如果我还需要其他任何东西,请告诉我!
问候!
解决方案
似乎正在加密客户端的数据。查看 Javascript 文件并找到它被加密的位置。
我建议编辑这篇文章并删除加密值。它可以被解密。
推荐阅读
- python - 如何使用 Python 解析数百个具有相同 JSON 数据类型的网站?
- python - 无法导入 python 3.5.9
- mysql - MySQL中浮点数据类型的问题
- python - 是否有类似于 Matlab 格式的 python 函数或扩展?
- spring-boot - 在 Spring Boot Actuator 上显示 Hibernate Search 统计信息
- php - 如何在 Symfony 配置中定义一些 PHP 常量?
- varnish - 清漆处理 Cookie 不正确。过滤不起作用
- java - 无法从 firebase 的快照中获取数据。对象始终为空
- postgresql - 如何在不显式执行 sql 的情况下使用 ddl_command_start 事件触发器授予权限/设置角色?
- css - CSS td 条件背景色设置