bizz84 / bizz84/SwiftyStoreKit

Getting Promo Code IAP (not offer code) on the SKPaymentQueue using SwiftyStoreKit

Open
#714 0 comments 0 reactions 0 assignees View on GitHub
type: question
Dominant language
Swift
Stars
6.7k
Forks
801
PR merge metrics
No merged PRs in 30d

Description

## Question

I'm trying to get Promo Codes Redeemed from the app store to work inside my iOS app. Please note that these are different from offer codes - which are used for subscriptions and work with presenting an UI.

After I generate a promo code from appstoreconnect the flow from a user perspective is:

1. Go to App Store -> Profile
2. Go to Redeem Gift Card or Code
3. Input code
4. Tap Open App
5. My app opens but no IAP is triggered by ```SwiftyStoreKit.completeTransactions``` .

I'm using SwiftyStoreKit and in applicationDidFinishLaunching I've put the code:

```
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// see notes below for the meaning of Atomic / Non-Atomic
SwiftyStoreKit.completeTransactions(atomically: true) { purchases in
for purchase in purchases {
switch purchase.transaction.transactionState {
case .purchased, .restored:
if purchase.needsFinishTransaction {
// Deliver content from server, then:
SwiftyStoreKit.finishTransaction(purchase.transaction)
}
// Unlock content
case .failed, .purchasing, .deferred:
break // do nothing
}
}
}
return true
}
```

and handle the delivering functionality of the IAP before calling :

```
SwiftyStoreKit.finishTransaction(purchase.transaction)
```

But there seems there is no call to the SwiftyStoreKit.completeTransactions callback.

Isn't this the method that should get called to make redeeming promo codes work ?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.