【问题标题】:Payfort Signature mismatchPayfort 签名不匹配
【发布时间】:2020-10-08 08:06:39
【问题描述】:

我有这个请求正文来生成报告:

{
    "from_date":"2020-06-17T00:00:01+03:00",
    "to_date":"2020-06-18T10:59:59+03:00",
    "signature":"df4c2bbbd5dd044036e11f26845a170b93249fd657339bf88b59b6340e2f****",
    "merchant_identifier":"gGRRR***",
    "merchant_reference":"1592472727964",
    "columns":["amount","card_number"],
    "query_command":"GENERATE_REPORT",
    "access_code":"VYqRIJEhOHNFgDMbu***"
}

在签名之前我有我的签名:

MYPASSaccess_code=VYqRIJEhOHNFgDMbu***columns=[amount,card_number]from_date=2020-06-17T00:00:01+03:00merchant_identifier=gGRRR***merchant_reference=1592472727964query_command=GENERATE_REPORTto_date=2020-06-18T10:59:59+03:00MYPASS

所以它的 Hash256 = df4c2bbbd5dd044036e11f26845a170b93249fd657339bf88b59b6340e2f****

但是我在响应中收到的哈希是:

1b3d301ff248ec0848eeb1376f4b4344e648cba60f18c63dcc9e939d6c83****

我做错了什么?可能与日期有关?

【问题讨论】:

    标签: java sha256 payfort


    【解决方案1】:

    到目前为止:我在文档中找到了important note

    注意!

     在列参数中;你应该:

    1. 左括号。

    2. 在列值之间放置一个“逗号”,然后是一个“空格”

    示例:columns=[acquirer_name, authorization_code, amount, bin_number]

     在 过滤器参数;你应该:

    1. 左括号。
    2. 然后打开一个大括号。
    3. 写下“钥匙”
    4. 先输入“逗号”,再输入“空格”。
    5. 写下键的“值”。

    【讨论】:

      【解决方案2】:

      payfort 文件讨论生成您的签名在下面的链接中你可以看到它

      signature document

      【讨论】: