ZIP苹果内购凭证解析内含有前后端简单项目文件 2.57KB

2301_80817413

资源文件列表:

苹果内购解析购买凭证.zip 大约有3个文件
  1. package.json 133B
  2. server.mjs 883B
  3. 验证苹果收款.html 4.21KB

资源介绍:

server-- 是一个服务,用来解决跨域问题的,首先要启动这个服务 在当前文件夹打开命令窗口先进行npm install 然后再进行node server.mjs 这样就能启动服务了 接下来就是打开前端项目了 验证苹果收款文件--是模拟前端进行验证苹果返回的支付凭证,将获取到的base64进行粘贴发起请求即可
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>验证苹果内购凭证</title> <style> body { font-family: Arial, sans-serif; margin: 0; padding: 20px; background-color: #f0f0f0; } .container { max-width: 600px; margin: 0 auto; padding: 20px; background-color: white; border-radius: 8px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); } .container h1 { font-size: 24px; margin-bottom: 20px; } .container textarea { width: 100%; height: 100px; margin-bottom: 20px; padding: 10px; border: 1px solid #ccc; border-radius: 4px; font-family: monospace; } .container button { display: inline-block; padding: 10px 20px; background-color: #28a745; color: white; border: none; border-radius: 4px; cursor: pointer; font-size: 16px; } .container button:disabled { background-color: #ccc; } .container .result { margin-top: 20px; white-space: pre-wrap; word-wrap: break-word; background-color: #f8f9fa; padding: 10px; border: 1px solid #ccc; border-radius: 4px; font-family: monospace; } </style> </head> <body> <div class="container"> <h1>粘贴你的内购凭证(transactionReceipt)</h1> <textarea id="receiptData" placeholder="粘贴你的内购凭证(transactionReceipt)"></textarea> <button id="verifyButton" onclick="verifyReceipt()">解析凭证</button> <div id="result" class="result"></div> </div> <script> async function verifyReceipt() { const receiptData = document.getElementById('receiptData').value; const resultElement = document.getElementById('result'); const verifyButton = document.getElementById('verifyButton'); if (!receiptData) { resultElement.textContent = '请输入base64编码的收据数据'; return; } verifyButton.disabled = true; resultElement.textContent = '解析中...'; try { const response = await fetch('http://localhost:3000/verifyReceipt', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ 'receiptData': receiptData, 'password': 'your-shared-secret' // 替换你的秘钥可有可无 }) }); const result = await response.json(); handleReceiptResult(result, resultElement); } catch (error) { resultElement.textContent = `Error: ${error.message}`; } verifyButton.disabled = false; } function handleReceiptResult(result, resultElement) { const status = result.status; let message; switch (status) { case 0: message = '验证成功!'; break; case 21000: message = 'App Store无法读取你提供的JSON对象。'; break; case 21002: message = '收到的数据无效。'; break; case 21003: message = '收据无法被验证。'; break; case 21004: message = '你提供的共享密钥与帐户文件中的共享密钥不匹配。'; break; case 21005: message = '收据服务器当前不可用。'; break; case 21006: message = '收据有效,但订阅已过期。'; break; case 21007: message = '此收据来自测试环境,但已发送到生产环境进行验证。'; break; case 21008: message = '此收据来自生产环境,但已发送到测试环境进行验证。'; break; case 21010: message = '收据无效,无法被验证。'; break; default: message = `未知错误,状态码:${status}`; } resultElement.textContent = `结果: ${JSON.stringify(result, null, 2)}\n\n信息: ${message}`; } </script> </body> </html>
100+评论
captcha
    类型标题大小时间
    ZIPuniapp学习-基础学习模板808.73KB10月前
    ZIP202203610326 梁涛.zip4.41MB10月前
    ZIP实训模板及参考.zip178.4KB10月前
    ZIP免费下载pandoc-3.2.1-windows-x8626.78MB10月前
    ZIP科学研究毕业论文答辩PPT模板.ppt.zip2.61MB10月前
    ZIP框架完整的毕业论文答辩PPT-台阶版.ppt.zip3.62MB10月前
    ZIP可爱手绘水彩花卉小清新答辩PPT模板.pptx.zip2.99MB10月前
    ZIP开题报告、毕业论文、毕业答辩、毕业设计.pptx.zip13.82MB10月前