Tôi xác minh ios tôi in app purchase
nhận trên máy chủ của tôi sử dụng dịch vụ C#
webiOS xác minh trong biên nhận mua ứng dụng với C#
tôi đã nhận như chuỗi bằng cách làm dưới đây trong Xcode:
- (void) completeTransaction: (SKPaymentTransaction *)transaction
{
NSString* receiptString = [[NSString alloc] initWithString:transaction.payment.productIdentifier];
NSLog(@"%@",receiptString);
NSURL *receiptURL = [[NSBundle mainBundle] appStoreReceiptURL];
NSData *receipt = [NSData dataWithContentsOfURL:receiptURL];
NSString *jsonObjectString = [receipt base64EncodedStringWithOptions:0];
}
và tôi gửi chuỗi (biên lai) đó tới dịch vụ web của tôi là C#
làm thông số. Đây là phương pháp dịch vụ web của tôi:
[WebMethod(Description = "Purchase Item Verify")]
public string PurchaseItem(string receiptData)
{
string returnmessage = "";
try
{
var json = "{ 'receipt-data': '" + receiptData + "'}";
ASCIIEncoding ascii = new ASCIIEncoding();
byte[] postBytes = Encoding.UTF8.GetBytes(json);
HttpWebRequest request;
request = WebRequest.Create("https://sandbox.itunes.apple.com/verifyReceipt") as HttpWebRequest;
request.Method = "POST";
request.ContentType = "application/json";
request.ContentLength = postBytes.Length;
Stream postStream = request.GetRequestStream();
postStream.Write(postBytes, 0, postBytes.Length);
postStream.Close();
var sendresponse = (HttpWebResponse)request.GetResponse();
string sendresponsetext = "";
using (var streamReader = new StreamReader(sendresponse.GetResponseStream()))
{
sendresponsetext = streamReader.ReadToEnd();
}
returnmessage = sendresponsetext;
}
catch (Exception ex)
{
ex.Message.ToString();
}
return returnmessage;
}
Nó luôn trả về {"status":21002}
. Tôi đã tìm kiếm hai ngày, nhưng vẫn không thể tìm ra giải pháp. Ai đó có thể giúp tôi không, tôi đang làm gì?
** Tôi đang thử nghiệm trên sandbox đó là lý do tại sao tôi sử dụng URL hộp cát. Tôi có thể xác minh biên nhận giao dịch trong ứng dụng của mình.
Hi Jerry, dis bạn gửi jsonObjectString đến dịch vụ web? Trên thực tế tôi cũng bị mắc kẹt cùng một vấn đề. –
Vui lòng giải quyết vấn đề này https://stackoverflow.com/questions/48188231/validating-receipt-with-the-app-store-in-net-is-success-but-when-sent-the-same –