Commit Graph

96 Commits

Author SHA1 Message Date
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
Bogdan Constantinescu 128a248229 Update validator test 2015-02-24 22:00:47 +02:00
Bogdan Constantinescu e55df6a60c Removed pointer to IAPRequest 2015-02-24 21:53:29 +02:00
Bogdan Constantinescu 9379daa02b Revert "gorequest wasn't sending the request for validation"
This reverts commit 2ed2786f8e.
2015-02-24 21:52:20 +02:00
Bogdan Constantinescu 2ed2786f8e gorequest wasn't sending the request for validation
In the gorequest Send method, there is a switch that checks the type of the parameter (https://github.com/parnurzeal/gorequest/blob/master/main.go#L341). In this particular case, the type of *IAPRequest is "ptr" which results in gorequest's switch to go the default case which is empty. The request was made with an empty body.
2015-02-20 16:54:19 +02:00
tsuji_jumpei 99e9a4e759 Added the subscription validator for in app billing 2014-12-05 01:59:36 +09:00
tsuji_jumpei 1f1601cd3c Initial push 2014-12-04 21:08:46 +09:00