Одна вещь, которая сработала для меня, - это запрос проверки на стороне клиента к серверам Apple, который я получил прямо из учебных пособий, предоставленных Apple, с кодом, показанным ниже.
Код: Выделить всё
// The transaction looks ok, so start the verify process.
// Encode the receiptData for the itms receipt verification POST request.
NSString *jsonObjectString = [self encodeBase64:(uint8_t *)transaction.transactionReceipt.bytes
length:transaction.transactionReceipt.length];
// Create the POST request payload.
NSString *payload = [NSString stringWithFormat:@"{\"receipt-data\" : \"%@\", \"password\" : \"%@\"}",
jsonObjectString, ITC_CONTENT_PROVIDER_SHARED_SECRET];
NSData *payloadData = [payload dataUsingEncoding:NSUTF8StringEncoding];
// Use ITMS_SANDBOX_VERIFY_RECEIPT_URL while testing against the sandbox.
NSString *serverURL = ITMS_SANDBOX_VERIFY_RECEIPT_URL;
// Create the POST request to the server.
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:serverURL]];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:payloadData];
NSURLConnection *conn = [[NSURLConnection alloc] initWithRequest:request delegate:self];
[conn start];
Код: Выделить всё
function verifyReceipt(receiptData, responder)
{
var options = {
host: 'sandbox.itunes.apple.com',
port: 443,
path: '/verifyReceipt',
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length': Buffer.byteLength(receiptData)
}
};
var req = https.request(options, function(res) {
res.setEncoding('utf8');
res.on('data', function (chunk) {
console.log("body: " + chunk);
});
});
req.write(receiptData);
req.end();
}
Если кто-нибудь может указать мне правильное направление или привести пример того, как они получили проверку квитанции для работы в узле, это было бы для них большой помощью. Было бы здорово, если бы кто-нибудь имел опыт работы с модулем iap_verifier и какие именно данные ему требуются. Я предоставлю любой пример кода, который мне понадобится, поскольку я борюсь с этим процессом уже несколько дней.
Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/196 ... th-node-js
Мобильная версия