【发布时间】:2018-03-05 23:22:02
【问题描述】:
我想通过将原始收据发送到 App Store 服务器进行验证并使用 Firebase 云功能取回经过验证的收据来验证 Apple 应用购买收据。
var jsonObject = {
'receipt-data': receiptData,
password: functions.config().apple.iappassword
};
var jsonData = JSON.stringify(jsonObject);
var firebaseRef = '/' + fbRefHelper.getUserPaymentInfo(currentUser);
let url = "https://sandbox.itunes.apple.com/verifyReceipt";//or production
request.post({
headers: { 'content-type': 'application/x-www-form-urlencoded' },
url: url,
body: jsonData
}, function (error, response, body) {
if (error) {
} else {
var jsonResponse = JSON.parse(body);
if (jsonResponse.status === 0) {
console.log('Recipt Valid!');
} else {
console.log('Recipt Invalid!.');
}
if (jsonResponse.status === 0 && jsonResponse.environment !== 'Sandbox') {
console.log('Response is in Production!');
}
console.log('Done.');
}
});
这是逻辑代码。如何输入收据 JSON 对象(位于 Firebase 数据库中)以及如何将此代码集成到 http 函数中?我正在使用“请求”npm 库。
【问题讨论】:
-
您在尝试创建 HTTP 函数时遇到了什么具体问题?
-
我不确定如何获取我在实时 Firebase 数据库中为每个用户存储的收据。如果我使用数据库云功能 .onwrite() 或 .onupdate() 我可以使用 db .ref('Customers/{uid}/receiptData') 访问收据并使用 event.data 获取收据然后传递它进入这个逻辑。但是,使用 http 功能,我无法找到执行此类操作的文档。另外,由于我是 node.js 的新手,我很难理解 http 云函数的流程和结构。具体来说,我该如何实现这个逻辑代码。
-
您通常会在 Cloud Functions 代码中使用 Firebase Admin SDK 来访问数据库。见stackoverflow.com/questions/43650472/…
标签: javascript node.js firebase google-cloud-functions firebase-cloud-functions