如何在集成支付网关时避免数量篡改?

时间:2018-01-08 09:33:35

标签: php payment-gateway

我在PHP中集成了支付网关。网关提供商告诉我它包含高风险漏洞(即金额篡改)。我不是支付网关集成方面的专家。如何防止金额篡改?

1 个答案:

答案 0 :(得分:3)

您可以采取以下措施防止金额被篡改。

  1. Checksum或Hash Digest。如果支付网关已实现此功能。这只是意味着生成要发送到支付网关的有效负载的哈希值,并使用它发送哈希值。网关还将生成散列并与发送给它的散列进行比较。如果它匹配,则有效载荷未被篡改,它已被篡改并且支付网关将丢弃该交易。 询问您的支付网关。这是最推荐的方法
  2. 在将付款发送到付款网关进行处理之前,请在数据库中记录交易详情。必须记录金额,交易参考和货币。从支付网关获得响应后,使用您的交易参考调用支付网关交易查询端点,直接从支付网关确认交易,然后验证您记录的交易金额,交易参考和货币与您从支付中获得的交易金额网关。如果存在任何差异,请记录争议解决的交易,否则使用返回的交易状态更新您的交易记录。
  3. 2仅在支付网关具有事务查询端点时才有效。如果您的支付网关没有交易查询端点,当您收到交易响应时,只需验证您记录的交易金额,交易参考和货币与您从支付网关获得的交易金额。如果存在任何差异,请记录争议解决的交易,否则使用返回的交易状态更新您的交易记录。 (我建议不要使用没有端点来查询交易的支付网关)
  4.   

    如果可以的话,我建议一起使用1和2.