pr-pin 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +43 -4
- data/lib/pr/pin.rb +1 -1
- data/lib/pr/pin/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e52cacf6c475aff3f5bce1ae540a40311d62907bb7384b797a63daa8e064434d
|
4
|
+
data.tar.gz: 8f45f062ed9148fb0a8c3e85b6d8ce3b3176193404b2479d4fc3404421457b48
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7647fc611ae51dd161fa406344f7fed7dca217aba9779e01ef06287f556a1f9ac2a29a5163183bd8dd8421c471ee06f123e1fe3121b8aec3b49061e8b88c72a2
|
7
|
+
data.tar.gz: b6a18bd913ec606128be3a7db21dddc3a42d62bd4cc24cfaec6a2158670811bb4d27eb2955353ea09b026a64f7e0afe04a64eb1243825cc77446d1a597571bee
|
data/README.md
CHANGED
@@ -18,16 +18,41 @@ Or install it yourself as:
|
|
18
18
|
|
19
19
|
## Usage
|
20
20
|
|
21
|
+
### Registering Connections
|
21
22
|
```ruby
|
22
23
|
# Require the gem
|
23
24
|
require 'pr-pin'
|
24
25
|
|
25
|
-
#
|
26
|
-
PR::Pin.
|
26
|
+
# Register a connection using your Pin Payments secret key
|
27
|
+
PR::Pin.register_connection(
|
27
28
|
secret_key: 'your_secret_key',
|
29
|
+
# raise on error, defaults to returning PR::Pin::API::Error instance
|
30
|
+
error_handler: ->(exception) { raise(exception) },
|
28
31
|
sandbox: true # Defaults to true, false for production
|
29
32
|
)
|
30
33
|
|
34
|
+
# You can register another connection by passsing an identifier to
|
35
|
+
# PR::Pin.register_connection, i.e.
|
36
|
+
PR::Pin.register_connection(
|
37
|
+
:admin, # defaults to :default
|
38
|
+
secret_key: 'your_secret_key',
|
39
|
+
sandbox: true
|
40
|
+
)
|
41
|
+
|
42
|
+
# Then, you can specify the connection to use when resolving the
|
43
|
+
# endpoint repository from the PR::Pin container
|
44
|
+
customers = PR::Pin.customers(:admin).list(page: 1)
|
45
|
+
# => [#<PR::Pin::Struct::Customer>, ...]
|
46
|
+
customers.current_page # => 1
|
47
|
+
customers.per_page # => 25
|
48
|
+
customers.prev_page # => nil
|
49
|
+
customers.next_page # => 2
|
50
|
+
customers.total_count # => 53
|
51
|
+
customers.total_pages # => 3
|
52
|
+
```
|
53
|
+
|
54
|
+
### One-off charge
|
55
|
+
```ruby
|
31
56
|
# Create a charge using a token, you can get a card token
|
32
57
|
# using Pin Payments hosted fields, or by creating a card
|
33
58
|
# via the API, this can be used to take a one-off payment
|
@@ -38,11 +63,13 @@ charge = PR::Pin.charges.create(
|
|
38
63
|
ip_address: '127.0.0.1',
|
39
64
|
card_token: 'card_58b6c52f131956c4394ba7'
|
40
65
|
)
|
41
|
-
|
42
66
|
charge.success? # => true
|
43
67
|
charge.error? # => false
|
44
68
|
charge # => #<PR::Pin::Struct::Charge>
|
69
|
+
```
|
45
70
|
|
71
|
+
### Recurring payments
|
72
|
+
```ruby
|
46
73
|
# For a subscription, create a customer using a card token
|
47
74
|
customer = PR::Pin.customers.create(
|
48
75
|
email: 'a.user@petrescue.com.au',
|
@@ -53,7 +80,7 @@ customer.error? # => false
|
|
53
80
|
customer # => #<PR::Pin::Struct::Customer>
|
54
81
|
|
55
82
|
# And then attach a subscription using the plan token from
|
56
|
-
# the plans endpoint (you
|
83
|
+
# the plans endpoint (you will need to create the plan first)
|
57
84
|
subscription = PR::Pin.subscriptions.create(
|
58
85
|
plan_token: 'plan_2d16b31863015a57820b70',
|
59
86
|
customer_token: 'cus_9d18a4516a6ae777-NDecB'
|
@@ -63,6 +90,18 @@ subscription.error? # => false
|
|
63
90
|
subscription # => #<PR::Pin::Struct::Subscription>
|
64
91
|
```
|
65
92
|
|
93
|
+
### Errors - See [PR::Pin::API::Error](https://github.com/PetRescue/pr-pin/blob/master/lib/pr/pin/api/error.rb)
|
94
|
+
```ruby
|
95
|
+
charge = PR::Pin.charges.create(
|
96
|
+
email: 'a.user@petrescue.com.au'
|
97
|
+
)
|
98
|
+
charge.success? # => false
|
99
|
+
charge.error? # => true
|
100
|
+
charge.code # => "invalid_resource"
|
101
|
+
charge.description # => "One or more parameters were missing or invalid"
|
102
|
+
charge # => => #<PR::Pin::API::Error>
|
103
|
+
```
|
104
|
+
|
66
105
|
## API Coverage
|
67
106
|
|
68
107
|
Coverage of https://pinpayments.com/developers/api-reference
|
data/lib/pr/pin.rb
CHANGED
data/lib/pr/pin/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pr-pin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- AMHOL
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-11-
|
11
|
+
date: 2019-11-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|