Commit Graph

56 Commits

Author SHA1 Message Date
Matija Lesar 4209b06a64 Added unified receipt 2019-11-25 10:00:13 +01:00
Junpei Tsuji e895c80eb0 Added grace period fields 2019-09-17 13:23:05 +09:00
Junpei Tsuji b4e4bec42f Use go modules 2019-05-23 17:27:20 +09:00
Owen 46a2f52ca6 Return errors from JSON encode/decode
I found two JSON errors being shadowed; the one in amazon/validator.go
is being hidden by errors.New(responseError.Message) -- which should be
an empty string if there's a JSON error. So, it wouldn't report success,
but this gives the caller better information on what failed.

The second is in appstore/validator.go, which was ignoring encode errors
before POSTing a verify request.
2019-04-24 11:39:02 -04:00
jordancco aa29cda61f Update notification.go
Added new const NotificationTypeDidChangeRenewalStatus
2019-03-25 14:38:48 +01:00
micnncim 74773834e2 Add missing error handling 2019-03-11 18:21:25 +09:00
WhiteRaven777 29290dc24e Add pending_renewal_info.original_transaction_id
- Since `original_transaction_id` included in `pending_renewal_info` is not defined, it was added.
2018-11-22 13:50:56 +09:00
Junpei Tsuji 3380afe242 Update golang 1.11 2018-11-06 17:21:59 +09:00
Minhaz Ahmed Syrus 49d7fb675d Add is_in_intro_offer_period in NotificationReceipt 2018-10-29 08:28:12 +06:00
Minhaz Syrus b0d36e4962 Add is_in_intro_offer_period in InApp 2018-10-28 16:45:35 +06:00
Junpei Tsuji 63258ccb00 Update subscription notification type for IAP 2018-05-23 11:07:07 +09:00
Junpei Tsuji 8e67f122c0 Added client timeout because http.DefaultClient doesn't have timeout 2018-05-18 12:31:19 +09:00
Junpei Tsuji 0cfabb49bb Support context package when requesting AppStore 2018-05-17 13:37:16 +09:00
Junpei Tsuji 2a724a9d7c Support custom client 2018-05-17 12:36:12 +09:00
Junpei Tsuji 90290e9d74 Added cancellation date fields 2018-03-30 10:41:53 +09:00
Junpei Tsuji ac1a97ceb4 Added iOS6 style receipt 2018-03-29 17:05:57 +09:00
Junpei Tsuji d8d590ec03 Merge pull request #53 from mizzy/omitempty-some-keys
Add "omitempty" to some keys which need not to be returned
2018-03-29 17:05:04 +09:00
Junpei Tsuji 659dd4b8ca Fixed environmental constants 2018-02-28 14:29:41 +09:00
Junpei Tsuji a2381d2dfd Fixed environment values 2018-02-23 17:58:56 +09:00
Gosuke Miyashita ff603d9e83 Add "omitempty" to some keys which need not to be returned 2018-02-21 10:52:43 +09:00
Junpei Tsuji 77b179753c Handle type mismatch 2018-02-08 20:06:41 +09:00
Junpei Tsuji 2e30b9a5bb Merge pull request #45 from Timothylock/master
Have app store hit prod and then sandbox if 21007
2018-02-08 17:14:11 +09:00
Timothy Lock c809bb0ee2 Fix test case of BadRequest
Should have been StatusOK
2018-01-29 18:01:54 -05:00
Timothy Lock 3b95498cbe Add Success test case + Refactor Comments 2018-01-29 17:53:58 -05:00
Timothy Lock 594d8d6544 Correct tests
serverWithResponse was hardcoded to return http.StatusBadRequest whereas it differed in the tests in the previous commits. This has been corrected by turning it into a parameter.
2018-01-22 17:17:05 -05:00
Timothy Lock 6d00842743 Bring tests back up to 100%
Make a new method called parseResponse which essentially allows us to feed it our own response  so that we can feed it bad body so that it cannot unmarshal or even read it.
2018-01-22 15:40:28 -05:00
Timothy Lock fe51698284 Fix bug involving HttpStatusResponse
the `ok` in `r, ok := result.(*HttpStatusResponse)` would always fail unless the `result` being passed in was also of type `HttpStatusResponse`
2018-01-17 16:47:14 -05:00
Timothy Lock 132768c0fe Use new struct to check status & Remove IAP_ENVIRONMENT
Use a new struct called `HttpStatusResponse` to check the status code returned in the receipt. This is ios-type independent and will redirect the receipt to sandbox if needed.

Following Apple's recommendation, always hit production and then sandbox. There is no more need to specify which environment to hit.
2018-01-17 16:02:52 -05:00
Junpei Tsuji 6753b53cde Added real time notification definition for google play 2017-12-28 11:41:57 +09:00
Timothy Lock 12a6e01874 Correct test
Needed to set an invalid SandboxURL to trigger the err.
2017-12-11 17:20:32 -05:00
Timothy Lock 8b1c5e29d2 Bring coverage up to 100
Remove sandbox timeout to actually cause POST to fail.
2017-12-11 17:12:38 -05:00
Timothy Lock 60800c1f90 Have app store hit prod and then sandbox if 21007
According to https://developer.apple.com/library/content/technotes/tn2413/_index.html#//apple_ref/doc/uid/DTS40016228-CH1-RECEIPTURL

Always verify your receipt first with the production URL; proceed to verify with the sandbox URL if you receive a 21007 status code. Following this approach ensures that you do not have to switch between URLs while your application is being tested or reviewed in the sandbox or is live in the App Store.
2017-12-11 17:05:53 -05:00
Yingjie Run b28879e74d Add is_trial_period field to NotificationReceipt 2017-10-07 17:20:04 +08:00
Yingjie Run 612fd98174 add app store subscription notify model 2017-07-28 17:57:04 +08:00
Yingjie Run 4b4785955a Remove the fields which are not existing in the raw response from AppStore 2017-07-25 14:49:01 +08:00
Yingjie Run 58b1c636fd Remove iOS 6 style transaction receipt fields 2017-07-24 17:43:16 +08:00
Yingjie Run 7808531e12 fix: error iap request fields 2017-07-21 17:35:35 +08:00
Yingjie Run c9721f9346 add new errors test case 2017-07-20 18:40:34 +08:00
Yingjie Run 2eb7bcf51a append new IAP receipt fields 2017-07-20 18:20:07 +08:00
Austin George f953f9abaa Update IAPClient.Verify to use interface argument 2017-05-05 10:01:54 +02:00
Junpei Tsuji ebac4ddf8d Use http package instead of gorequest 2016-11-01 23:34:46 +09:00
Jumpei Tsuji e9d5da1f8f Use interface argument for IAP response instead of the library defined struct 2016-08-05 11:43:55 +09:00
Jumpei Tsuji a32b701d7b Removed redundant error handling 2016-07-28 18:05:27 +09:00
Jumpei Tsuji d2a7e24677 Fixed tests 2016-06-08 17:28:56 +09:00
Jumpei Tsuji c6384b927f Golint and fixed a typo 2016-06-08 15:42:49 +09:00
Philip Vieira 0d43229ffb Correct spelling mistake in AppStore errors 2016-05-18 15:50:48 +02:00
Jumpei Tsuji 5b7829b96a Make url constants public 2015-03-30 21:00:25 +09:00
Jumpei Tsuji d074358ecd Added some fields for auto-renewable subscription 2015-03-03 23:58:08 +09:00
Jumpei Tsuji 4db8e00b07 Added the password field for renewing subscription 2015-03-03 18:35:46 +09:00
Bogdan Constantinescu 1da1fecce3 AppStore test coverage 100% 2015-02-25 10:56:37 +02:00