[{"data":1,"prerenderedAt":228},["ShallowReactive",2],{"navigation_docs_zh":3,"-zh-docs-taypay-1-v1-02-signature":140,"-zh-docs-taypay-1-v1-02-signature-surround":223},[4,15,58,90],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"快速开始",false,"\u002Fzh\u002Fdocs\u002Fgetting-started","zh\u002Fdocs\u002F1.getting-started",[10],{"title":11,"path":12,"stem":13,"icon":14},"开始使用","\u002Fzh\u002Fdocs\u002Fgetting-started\u002Finstallation","zh\u002Fdocs\u002F1.getting-started\u002F1.installation","i-lucide-download",{"title":16,"icon":6,"path":17,"stem":18,"children":19},"Taypay v1","\u002Fzh\u002Fdocs\u002Ftaypay-1-v1","zh\u002Fdocs\u002Ftaypay-1-v1\u002Findex",[20,22,26,30,34,38,42,46,50,54],{"title":21,"path":17,"stem":18},"标准开放 API",{"title":23,"path":24,"stem":25},"认证参数","\u002Fzh\u002Fdocs\u002Ftaypay-1-v1\u002F01-authentication","zh\u002Fdocs\u002Ftaypay-1-v1\u002F01-authentication",{"title":27,"path":28,"stem":29},"签名规则","\u002Fzh\u002Fdocs\u002Ftaypay-1-v1\u002F02-signature","zh\u002Fdocs\u002Ftaypay-1-v1\u002F02-signature",{"title":31,"path":32,"stem":33},"接口说明","\u002Fzh\u002Fdocs\u002Ftaypay-1-v1\u002F03-order-apis","zh\u002Fdocs\u002Ftaypay-1-v1\u002F03-order-apis",{"title":35,"path":36,"stem":37},"创建订单接口","\u002Fzh\u002Fdocs\u002Ftaypay-1-v1\u002F04-api-order-create","zh\u002Fdocs\u002Ftaypay-1-v1\u002F04-api-order-create",{"title":39,"path":40,"stem":41},"查询订单接口","\u002Fzh\u002Fdocs\u002Ftaypay-1-v1\u002F05-api-order-query","zh\u002Fdocs\u002Ftaypay-1-v1\u002F05-api-order-query",{"title":43,"path":44,"stem":45},"关闭订单接口","\u002Fzh\u002Fdocs\u002Ftaypay-1-v1\u002F06-api-order-close","zh\u002Fdocs\u002Ftaypay-1-v1\u002F06-api-order-close",{"title":47,"path":48,"stem":49},"发起退款接口","\u002Fzh\u002Fdocs\u002Ftaypay-1-v1\u002F07-api-refund-create","zh\u002Fdocs\u002Ftaypay-1-v1\u002F07-api-refund-create",{"title":51,"path":52,"stem":53},"支付通知","\u002Fzh\u002Fdocs\u002Ftaypay-1-v1\u002F08-notification","zh\u002Fdocs\u002Ftaypay-1-v1\u002F08-notification",{"title":55,"path":56,"stem":57},"托管收银台与订单状态","\u002Fzh\u002Fdocs\u002Ftaypay-1-v1\u002F09-checkout-status","zh\u002Fdocs\u002Ftaypay-1-v1\u002F09-checkout-status",{"title":59,"icon":6,"path":60,"stem":61,"children":62},"Taypay Epay","\u002Fzh\u002Fdocs\u002Ftaypay-2-epay","zh\u002Fdocs\u002Ftaypay-2-epay\u002Findex",[63,65,68,71,74,78,82,86],{"title":64,"path":60,"stem":61},"易支付兼容 API",{"title":27,"path":66,"stem":67},"\u002Fzh\u002Fdocs\u002Ftaypay-2-epay\u002F01-signature","zh\u002Fdocs\u002Ftaypay-2-epay\u002F01-signature",{"title":31,"path":69,"stem":70},"\u002Fzh\u002Fdocs\u002Ftaypay-2-epay\u002F02-order-apis","zh\u002Fdocs\u002Ftaypay-2-epay\u002F02-order-apis",{"title":35,"path":72,"stem":73},"\u002Fzh\u002Fdocs\u002Ftaypay-2-epay\u002F03-api-mapi","zh\u002Fdocs\u002Ftaypay-2-epay\u002F03-api-mapi",{"title":75,"path":76,"stem":77},"创建订单接口(跳转)","\u002Fzh\u002Fdocs\u002Ftaypay-2-epay\u002F04-api-submit","zh\u002Fdocs\u002Ftaypay-2-epay\u002F04-api-submit",{"title":79,"path":80,"stem":81},"订单查询接口","\u002Fzh\u002Fdocs\u002Ftaypay-2-epay\u002F05-api-order-query","zh\u002Fdocs\u002Ftaypay-2-epay\u002F05-api-order-query",{"title":83,"path":84,"stem":85},"订单退款接口","\u002Fzh\u002Fdocs\u002Ftaypay-2-epay\u002F06-api-refund","zh\u002Fdocs\u002Ftaypay-2-epay\u002F06-api-refund",{"title":87,"path":88,"stem":89},"支付方式与字段映射","\u002Fzh\u002Fdocs\u002Ftaypay-2-epay\u002F07-mappings","zh\u002Fdocs\u002Ftaypay-2-epay\u002F07-mappings",{"title":91,"icon":6,"path":92,"stem":93,"children":94},"VToken","\u002Fzh\u002Fdocs\u002Fvtoken","zh\u002Fdocs\u002Fvtoken\u002Findex",[95,96,100,104,108,112,116,120,124,128,132,136],{"title":91,"path":92,"stem":93},{"title":97,"path":98,"stem":99},"接入 AstrBot","\u002Fzh\u002Fdocs\u002Fvtoken\u002Fastrbot","zh\u002Fdocs\u002Fvtoken\u002Fastrbot",{"title":101,"path":102,"stem":103},"接入 Claude Code","\u002Fzh\u002Fdocs\u002Fvtoken\u002Fclaude_code","zh\u002Fdocs\u002Fvtoken\u002Fclaude_code",{"title":105,"path":106,"stem":107},"接入 Crush","\u002Fzh\u002Fdocs\u002Fvtoken\u002Fcrush","zh\u002Fdocs\u002Fvtoken\u002Fcrush",{"title":109,"path":110,"stem":111},"接入 Hermes","\u002Fzh\u002Fdocs\u002Fvtoken\u002Fhermes","zh\u002Fdocs\u002Fvtoken\u002Fhermes",{"title":113,"path":114,"stem":115},"接入 Kilo Code","\u002Fzh\u002Fdocs\u002Fvtoken\u002Fkilo_code","zh\u002Fdocs\u002Fvtoken\u002Fkilo_code",{"title":117,"path":118,"stem":119},"接入 Langcli","\u002Fzh\u002Fdocs\u002Fvtoken\u002Flangcli","zh\u002Fdocs\u002Fvtoken\u002Flangcli",{"title":121,"path":122,"stem":123},"接入 nanobot","\u002Fzh\u002Fdocs\u002Fvtoken\u002Fnanobot","zh\u002Fdocs\u002Fvtoken\u002Fnanobot",{"title":125,"path":126,"stem":127},"接入 OpenClaw","\u002Fzh\u002Fdocs\u002Fvtoken\u002Fopenclaw","zh\u002Fdocs\u002Fvtoken\u002Fopenclaw",{"title":129,"path":130,"stem":131},"接入 OpenCode","\u002Fzh\u002Fdocs\u002Fvtoken\u002Fopencode","zh\u002Fdocs\u002Fvtoken\u002Fopencode",{"title":133,"path":134,"stem":135},"接入 Reasonix","\u002Fzh\u002Fdocs\u002Fvtoken\u002Freasonix","zh\u002Fdocs\u002Fvtoken\u002Freasonix",{"title":137,"path":138,"stem":139},"接入 WorkBuddy \u002F CodeBuddy","\u002Fzh\u002Fdocs\u002Fvtoken\u002Fworkbuddy","zh\u002Fdocs\u002Fvtoken\u002Fworkbuddy",{"id":141,"title":27,"body":142,"description":216,"extension":217,"links":218,"meta":219,"navigation":220,"path":28,"seo":221,"stem":29,"__hash__":222},"docs_zh\u002Fzh\u002Fdocs\u002Ftaypay-1-v1\u002F02-signature.md",{"type":143,"value":144,"toc":213},"minimark",[145,148,152,191,194,204,207],[146,147,27],"h1",{"id":27},[149,150,151],"p",{},"签名步骤:",[153,154,155,164,167,170,181,188],"ol",{},[156,157,158,159,163],"li",{},"排除 ",[160,161,162],"code",{},"sign"," 字段。",[156,165,166],{},"排除空值和非标量字段。",[156,168,169],{},"按字段名升序排序。",[156,171,172,173,176,177,180],{},"key 和 value 使用 ",[160,174,175],{},"rawurlencode"," 后拼接为 ",[160,178,179],{},"key=value","。",[156,182,183,184,187],{},"使用 ",[160,185,186],{},"&"," 连接所有键值对。",[156,189,190],{},"使用商户应用密钥计算 HMAC-SHA256。",[149,192,193],{},"签名串示例:",[195,196,202],"pre",{"className":197,"code":199,"language":200,"meta":201},[198],"language-text","rawurlencode(key1)=rawurlencode(value1)&rawurlencode(key2)=rawurlencode(value2)\n","text","",[160,203,199],{"__ignoreMap":201},[149,205,206],{},"签名计算:",[195,208,211],{"className":209,"code":210,"language":200,"meta":201},[198],"sign = hmac_sha256(sign_string, app_secret)\n",[160,212,210],{"__ignoreMap":201},{"title":201,"searchDepth":214,"depth":214,"links":215},2,[],"Taypay v1 请求签名与签名串构造规则。","md",null,{},true,{"title":27,"description":216},"saCfAU0NT9rpBsOTQOAcjx6elxlianzYEF5maFSQLFo",[224,226],{"title":23,"path":24,"stem":25,"description":225,"children":-1},"Taypay v1 开放接口公共认证字段与校验要求。",{"title":31,"path":32,"stem":33,"description":227,"children":-1},"Taypay v1 接口索引与路由清单。",1781853834365]