首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何安全地处理事务

如何安全地处理事务
EN

Stack Overflow用户
提问于 2016-08-23 17:25:32
回答 1查看 43关注 0票数 0

我正在创建一个服务,其中用户必须为某些产品付费。现在,我正在努力处理事务部分。

我正在创建一个事务,如果用户到达结帐页面。支付网关的URL如下:

代码语言:javascript
复制
ReturnUrl -> The URL the costumer is being redirected to after a succesfull payment (after clicking "Back to Webshop")
NotifyUrl -> The URL (server-to-server call) thats being called when the user finishes his payment, when the costumer is being redirected back via ReturnUrl
CallbackUrl -> The URL thats being called when the user closes his browser after a succesfull payment, without clicking the "Back to Webshop" button, and hence not being redirected via ReturnUrl

现在,当它们返回到NotifyUrl或CallbackUrl时,我正在努力解决如何安全地将事务设置为已完成。当我将事务放到数据库中时,我会生成一个令牌,这样未经授权的用户就无法修改/更改任何内容。但我将令牌与POST一起发送到我的支付提供商,这意味着如果他们知道要向哪个url发送GET请求以及所有信息,例如token en transaction_id,他们就可以在那里浏览,而无需实际付费,并欺骗我的服务器认为请求来自我的支付处理器。

我该如何正确地做这件事?

EN

回答 1

Stack Overflow用户

发布于 2016-12-01 17:03:48

至少您应该验证服务器到服务器调用的来源(ip地址或域),以确保是支付处理器发出了请求。

一些支付处理商(multisafepay)只是向NotifyUrl发送一个唤醒消息,简单地说明支付某某的状态已经改变。然后,您的服务器可以对支付处理器进行安全调用,请求确切的详细信息,并相应地更新本地状态。

此外,在这些场景中使用ssl总是明智的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39097333

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档