字节小程序
开发者社区
小程序小游戏
登录
支付成功,回调方法中签名不正确

支付成功,回调方法中签名不正确

102浏览作者: yosuke

App及版本号: 17.4.0

手机操作系统: Android

问题端: 服务端

问题模块: 支付

问题类型: BUG


报错截图或相关BUG

在此处粘贴截图


复现步骤

  • 支付成功,回调方法中 msg_signature 和 我的签名对不上

我是用.net core开发的,代码如下:
string[] ArrTmp = { ConfigHelper.GetAppSetting("TouTiao", "Token"), request.timestamp.ToString(), request.nonce.ToString(), request.msg };

Array.Sort(ArrTmp); //字典排序

string sign = string.Join("", ArrTmp);

sign = GetSwcSHA1(sign).ToLower();


/// <summary>

/// sha1加密

/// </summary>

/// <param name="value"></param>

/// <returns></returns>

public static string GetSwcSHA1(string value)

{

SHA1 algorithm = SHA1.Create();

byte[] data = algorithm.ComputeHash(Encoding.UTF8.GetBytes(value));

string sh1 = "";

for (int i = 0; i < data.Length; i++)

{

sh1 += data[i].ToString("x2").ToUpperInvariant();

}

return sh1;

}

提交的数据:

{

"timestamp": 1630286157,

"nonce": 6122,

"msg": "{\"appid\":\"tt95b5e3080a8da3b301\",\"cp_orderno\":\"Y210830091536116496644155\",\"cp_extra\":\"\",\"way\":\"2\",\"channel_no\":\"2021083022001438641420373865\",\"channel_gateway_no\":\"\",\"payment_order_no\":\"PC2021083009154113813724526405\",\"out_channel_order_no\":\"\",\"total_amount\":1,\"status\":\"SUCCESS\",\"seller_uid\":\"69896027214479219270\",\"extra\":\"null\",\"item_id\":\"\",\"paid_at\":1630286158,\"message\":\"\"}",

"msg_signature": "0081080c1b5326b2ea45fdcadb58d435567f0a6c",

"type": "payment"

}


我的签名结果是:5cb72b0026a73472be4fda1d86215a035af36674 和 0081080c1b5326b2ea45fdcadb58d435567f0a6c 不一致,不知道是哪里有问题

最后一次编辑于 2021年08月30日
加载中