基础数据 仅限测试使用 { "app_key":"i4esv1l+76l/7NQCL3QudG90Fq+YgVfFGJAWgT+7qO1Bm9o/adG/1iwO2qXsAXNB", "method":"fulu.order.direct.add", "timestamp":"2019-12-30 14:23:06", "version":"2.0", "format":"json", "charset":"utf-8", "sign_type":"md5", "sign":"d2ca1003c1852e1846c9466adec18b68", "app_auth_token":"", "biz_content":"{\"customer_order_no\":\"20191230142306472\",\"product_id\":10000585,\"buy_num\":1,\"charge_account\":\"888888\",\"charge_ip\":\"\",\"charge_password\":\"\",\"charge_game_name\":\"\",\"charge_game_role\":\"\",\"charge_game_region\":\"\",\"charge_game_srv\":\"\",\"charge_type\":\"\",\"contact_tel\":\"\",\"contact_qq\":\"\"}" } 签名说明 1)将除sign参数之外的所有参数包装成Dictionary<string,string>字典;(接口响应的签名直接使用result的内容从第3步操作开始) 2)将Dictionary<string,string>字典进行Json序列化; 3)将Json字符串转化为字符数组charObjectArray,然后将charObjectArray进行Array.Sort()排序; 4)将排序后的charObjectArray转化为字符串string,然后在string后直接拼接应用密钥; 5)将第4步拼接了应用密钥的字符串进行md5(注意:待md5字符串最前面有个空格),最后将得到的值转化为小写字符串即得到sign签名值;
{ "app_key":"i4esv1l+76l/7NQCL3QudG90Fq+YgVfFGJAWgT+7qO1Bm9o/adG/1iwO2qXsAXNB", "method":"fulu.order.direct.add", "timestamp":"2019-12-30 14:23:06", "version":"2.0", "format":"json", "charset":"utf-8", "sign_type":"md5", "sign":"d2ca1003c1852e1846c9466adec18b68", "app_auth_token":"", "biz_content":"{\"customer_order_no\":\"20191230142306472\",\"product_id\":10000585,\"buy_num\":1,\"charge_account\":\"888888\",\"charge_ip\":\"\",\"charge_password\":\"\",\"charge_game_name\":\"\",\"charge_game_role\":\"\",\"charge