kakeibo 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +39 -3
- data/kakeibo.gemspec +2 -2
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a12a177e265793feb3a6fffd42baefa0c5edc1eb
|
4
|
+
data.tar.gz: ae24ace5460c7fe3f26baa75cc99be0517f298d2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f7a19c1f4802d60ad3a714c51382c32a721b9da3c3f0e5832f4959b43f1592e7eeda5534a62f2737be1da1f82a20352712a54b0ced6071d5bed45a365b1d4ce0
|
7
|
+
data.tar.gz: 8757629aa251d9166acc20d85558bd284b942da80547d9aacb24d6034f6b82633e351076117973906a20d45bb6ccf2bc372eb3aff49bb276fc529af7f2585dee
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Kakeibo
|
2
2
|
|
3
|
-
|
3
|
+
IAP and IAB receipt validation module.
|
4
4
|
|
5
5
|
## Installation
|
6
6
|
|
@@ -18,14 +18,50 @@ Or install it yourself as:
|
|
18
18
|
|
19
19
|
## Usage
|
20
20
|
|
21
|
-
|
21
|
+
### iOS
|
22
|
+
* iOS(IAP in-app-purchase) receipt validation uses Apple receipt validation API.
|
23
|
+
* iOSのレシート検証はAppleのレシート検証APIを叩くことで行う
|
24
|
+
|
25
|
+
```
|
26
|
+
kakeibo = Kakeibo.new(:Iap, retry_count: 2)
|
27
|
+
kakeibo.fetch(receipt, transaction_id: SKPaymentTransaction.transactionIdentifier)
|
28
|
+
kakeibo.valid?
|
29
|
+
```
|
30
|
+
|
31
|
+
#### initialize option
|
32
|
+
* retry_count
|
33
|
+
* If Apple receipt API is down, fetching API retry_count times.
|
34
|
+
* Appleのレシート検証APIが落ちていた時の試行回数
|
35
|
+
|
36
|
+
### Android
|
37
|
+
* Android(IAB in-app-billings) receipt validation uses public key from Google Play. DO NOT USE Google API.
|
38
|
+
* Androidのレシート検証は、Google Playから払い出される公開鍵を使って検証する。GoogleのAPIは使用しない
|
39
|
+
|
40
|
+
```
|
41
|
+
kakeibo = Kakeibo.new(:Iab)
|
42
|
+
kakeibo.fetch(
|
43
|
+
receipt,
|
44
|
+
signature: signature,
|
45
|
+
base64_encoded_public_key: base64_encoded_public_key,
|
46
|
+
developer_payload: developer_payload
|
47
|
+
)
|
48
|
+
kakeibo.valid?
|
49
|
+
kakeibo.order_id # You should validate order_id uniqueness for security
|
50
|
+
```
|
51
|
+
|
52
|
+
#### for sucurity
|
53
|
+
* Please See [this pages](http://developer.android.com/training/in-app-billing/purchase-iab-products.html) security recommendation!
|
54
|
+
* You should verify that the orderId is a unique value that you have not previously processed, and the developerPayload string matches the token that you sent previously with the purchase request.
|
55
|
+
* orderIdはユニーク性の担保をしてください。developerPayloadを使って、必ずrequestの整合性チェックを行って下さい
|
22
56
|
|
23
57
|
## Refernces
|
24
58
|
|
25
59
|
### iOS
|
60
|
+
* [レシート検証プログラミングガイド](https://developer.apple.com/jp/devcenter/ios/library/documentation/ValidateAppStoreReceipt.pdf)
|
61
|
+
* [In-App Purchaseプログラミングガイド](https://developer.apple.com/jp/devcenter/ios/library/documentation/StoreKitGuide.pdf)
|
62
|
+
* [SKPaymentTransaction](https://developer.apple.com/library/prerelease/mac/documentation/StoreKit/Reference/SKPaymentTransaction_Class/)
|
26
63
|
|
27
64
|
### Android
|
28
|
-
|
29
65
|
* [Google Play In-app Billing](http://developer.android.com/google/play/billing/index.html)
|
30
66
|
* [Purchasing In-app Billing Products](http://developer.android.com/training/in-app-billing/purchase-iab-products.html)
|
31
67
|
* [Security Best Practices](http://developer.android.com/google/play/billing/billing_best_practices.html)
|
data/kakeibo.gemspec
CHANGED
@@ -4,12 +4,12 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = "kakeibo"
|
7
|
-
spec.version = "0.0.
|
7
|
+
spec.version = "0.0.2"
|
8
8
|
spec.authors = ["Spring_MT"]
|
9
9
|
spec.email = ["today.is.sky.blue.sky@gmail.com"]
|
10
10
|
spec.summary = %q{IAP and IAB receipt validation module.}
|
11
11
|
spec.description = %q{IAP and IAB receipt validation module.}
|
12
|
-
spec.homepage = ""
|
12
|
+
spec.homepage = "https://github.com/SpringMT/kakeibo-global"
|
13
13
|
spec.license = "MIT"
|
14
14
|
|
15
15
|
spec.files = `git ls-files -z`.split("\x0")
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kakeibo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Spring_MT
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-09-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -75,7 +75,7 @@ files:
|
|
75
75
|
- spec/samples/sample_iab_signature
|
76
76
|
- spec/samples/sample_iap_receipt
|
77
77
|
- spec/spec_helper.rb
|
78
|
-
homepage:
|
78
|
+
homepage: https://github.com/SpringMT/kakeibo-global
|
79
79
|
licenses:
|
80
80
|
- MIT
|
81
81
|
metadata: {}
|
@@ -112,3 +112,4 @@ test_files:
|
|
112
112
|
- spec/samples/sample_iab_signature
|
113
113
|
- spec/samples/sample_iap_receipt
|
114
114
|
- spec/spec_helper.rb
|
115
|
+
has_rdoc:
|