我想通过使用Firebase Cloud cloud Functions将原始收据发送到App Store Server进行验证并获得验证的收据。
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库。
基于您的评论,听起来好像您不知道如何从HTTPS类型函数中查询数据库。您可以将Firebase Admin SDK使用。有很多有关如何执行此操作的例子。特别是,此大写QuickStart示例说明了这一点。您从这样开始:
// The Firebase Admin SDK to access the Firebase Realtime Database.
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);