Improve in-app purchase for MacOS (#12464)
* Add methods to finish transactions * Add a method to get the product descriptions from the App Store * Improve the documentation of a transaction structure * Add a tutorial for In App Purchase * Fix typo in In-App Purchase tutorial * Fix style of In-App Purchase files * Fix In-App-Purchase product structure conversion in amr64 * Fix code style in In-App Purchase tutorial documentation * Fix typos in In-App Purchase documentation * Fix typo in In-App Purchase spec * Slight style fixes
This commit is contained in:
parent
52b1065b3b
commit
5486a65702
13 changed files with 481 additions and 22 deletions
|
@ -136,6 +136,34 @@ bool CanMakePayments() {
|
|||
return [SKPaymentQueue canMakePayments];
|
||||
}
|
||||
|
||||
void FinishAllTransactions() {
|
||||
for (SKPaymentTransaction* transaction in SKPaymentQueue.defaultQueue
|
||||
.transactions) {
|
||||
[[SKPaymentQueue defaultQueue] finishTransaction:transaction];
|
||||
}
|
||||
}
|
||||
|
||||
void FinishTransactionByDate(const std::string& date) {
|
||||
// Create the date formatter.
|
||||
NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
|
||||
NSLocale* enUSPOSIXLocale =
|
||||
[NSLocale localeWithLocaleIdentifier:@"en_US_POSIX"];
|
||||
[dateFormatter setLocale:enUSPOSIXLocale];
|
||||
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZZZZ"];
|
||||
|
||||
// Remove the transaction.
|
||||
NSString* transactionDate = base::SysUTF8ToNSString(date);
|
||||
|
||||
for (SKPaymentTransaction* transaction in SKPaymentQueue.defaultQueue
|
||||
.transactions) {
|
||||
if ([transactionDate
|
||||
isEqualToString:[dateFormatter
|
||||
stringFromDate:transaction.transactionDate]]) {
|
||||
[[SKPaymentQueue defaultQueue] finishTransaction:transaction];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
std::string GetReceiptURL() {
|
||||
NSURL* receiptURL = [[NSBundle mainBundle] appStoreReceiptURL];
|
||||
if (receiptURL != nil) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue