yukon 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c8c49067d1c3ef61c83c1be1aaf8b29480dc903d
4
- data.tar.gz: adba73657218708ee537f7e0019ba3e4f69fbd7b
3
+ metadata.gz: 05faf8ee84fe24ecf2976509d6185131261f5050
4
+ data.tar.gz: d65b2936bc9bba5c9cc79c49acb5776c9e2ac6cf
5
5
  SHA512:
6
- metadata.gz: 8ee64b1405b67eb789bcfc5c009751758f34cc1cdf82aec0f6d1f8d81dbe71e1ad892d87d3b4a7c4f9db6fa35ce17c1e268e459d3a2f914f749cd66a7f25e2d8
7
- data.tar.gz: c9a68cd783db276f8cc80e7ff9c4159a50aa865da10ff639302035de5981fdca9d1681e321224ace1b9bd36d4ae7599314d9238514ccf4aec6c8020a1e993a92
6
+ metadata.gz: 37c9d223ac079a5cb37c3b0c65f41c2533673b9266acc617c41456d65b75fb274f05e9ee60b527474a19558e79df5383cd387fa47964ee1dfded915a973fbbb7
7
+ data.tar.gz: 0e5faca7b71745640f3a1fa2082bff7770981faa153ea4725852c9af361866d16e592b038b81b40904498c481972ac00ccd710e9644cbb9a535d362e060088db
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.2.2
1
+ 2.2.3
data/README.md CHANGED
@@ -5,7 +5,12 @@ This Micro Gem encapsulates Express Checkout Paypal API. To experiment with that
5
5
  ```ruby
6
6
  require_relative './lib/yukon/cart.rb'
7
7
  ```
8
-
8
+
9
+ ## Versions
10
+
11
+ Ruby : 2.2.2 and 2.2.3
12
+ ActiveMerchant : 1.52
13
+
9
14
  ## Installation
10
15
 
11
16
  Add this line to your application's Gemfile:
@@ -56,7 +61,7 @@ development:
56
61
  mode: :test
57
62
  ```
58
63
 
59
- The mode value is :test for development and test environments and :live only for production. For a sample Rails 4.2.3 app, check out : https://bitbucket.org/bparanj/paypalexpress
64
+ The mode value is :test for development and test environments and :live only for production. For a sample Rails 4.2.4 app using Ruby 2.2.3, check out : https://bitbucket.org/bparanj/paypalexpress
60
65
 
61
66
  ## Test Credentials
62
67
 
data/bin/console CHANGED
@@ -10,5 +10,12 @@ require "yukon"
10
10
  # require "pry"
11
11
  # Pry.start
12
12
 
13
+ Yukon.configuration do |config|
14
+ config.login = 'jb-us-seller_api1.paypal.com'
15
+ config.password = 'WX4WTU3S8MY44S7F'
16
+ config.signature = 'AFcWxV21C7fd0v3bYYYRCpSSRl31A7yDhhsPUU2XhtMoZXsWHFxu-RWy'
17
+ config.mode = :test
18
+ end
19
+
13
20
  require "irb"
14
21
  IRB.start
@@ -1,7 +1,7 @@
1
1
  development: &default
2
- username: jb-us-seller_api1.paypal.com
3
- password: WX4WTU3S8MY44S7F
4
- signature: AFcWxV21C7fd0v3bYYYRCpSSRl31A7yDhhsPUU2XhtMoZXsWHFxu-RWy
2
+ username: bparan_1360459336_biz_api1.gmail.com
3
+ password: 1360459362
4
+ signature: AiPC9BjkCyDFQXbSkoZcgqH3hpacARbNPHYwGcAEv3pAorm.KuIxgJw8
5
5
  app_id: APP-80W284485P519543T
6
6
  http_timeout: 30
7
7
  mode: sandbox
data/config/paypal.yml CHANGED
@@ -1,7 +1,7 @@
1
1
  development: &default
2
- username: bparan_1360459336_biz_api1.gmail.com
3
- password: 1360459362
4
- signature: AiPC9BjkCyDFQXbSkoZcgqH3hpacARbNPHYwGcAEv3pAorm.KuIxgJw8
2
+ username: jb-us-seller_api1.paypal.com
3
+ password: WX4WTU3S8MY44S7F
4
+ signature: AFcWxV21C7fd0v3bYYYRCpSSRl31A7yDhhsPUU2XhtMoZXsWHFxu-RWy
5
5
  app_id: APP-80W284485P519543T
6
6
  http_timeout: 30
7
7
  mode: sandbox
@@ -76,4 +76,92 @@ http_interactions:
76
76
  xsi:type="ebl:ExpressCheckoutTokenType">EC-5TC81926SR152035B</Token></SetExpressCheckoutResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
77
77
  http_version:
78
78
  recorded_at: Sat, 22 Aug 2015 19:10:00 GMT
79
+ - request:
80
+ method: post
81
+ uri: https://api-3t.sandbox.paypal.com/2.0/
82
+ body:
83
+ encoding: UTF-8
84
+ string: |-
85
+ <?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Header><RequesterCredentials xmlns="urn:ebay:api:PayPalAPI" xmlns:n1="urn:ebay:apis:eBLBaseComponents" env:mustUnderstand="0"><n1:Credentials><n1:Username>jb-us-seller_api1.paypal.com</n1:Username><n1:Password>WX4WTU3S8MY44S7F</n1:Password><n1:Subject>sell_1342421142_biz@gmail.com</n1:Subject><n1:Signature>AFcWxV21C7fd0v3bYYYRCpSSRl31A7yDhhsPUU2XhtMoZXsWHFxu-RWy</n1:Signature></n1:Credentials></RequesterCredentials></env:Header><env:Body><GetExpressCheckoutDetailsReq xmlns="urn:ebay:api:PayPalAPI">
86
+ <GetExpressCheckoutDetailsRequest xmlns:n2="urn:ebay:apis:eBLBaseComponents">
87
+ <n2:Version>72</n2:Version>
88
+ <Token>EC-5TC81926SR152035B</Token>
89
+ </GetExpressCheckoutDetailsRequest>
90
+ </GetExpressCheckoutDetailsReq>
91
+ </env:Body></env:Envelope>
92
+ headers:
93
+ Content-Type:
94
+ - application/x-www-form-urlencoded
95
+ Accept-Encoding:
96
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
97
+ Accept:
98
+ - "*/*"
99
+ User-Agent:
100
+ - Ruby
101
+ response:
102
+ status:
103
+ code: 200
104
+ message: OK
105
+ headers:
106
+ Date:
107
+ - Tue, 25 Aug 2015 02:43:57 GMT
108
+ Server:
109
+ - Apache
110
+ Connection:
111
+ - close
112
+ Content-Length:
113
+ - '4486'
114
+ Set-Cookie:
115
+ - X-PP-SILOVER=; Expires=Thu, 01 Jan 1970 00:00:01 GMT
116
+ - X-PP-SILOVER=name%3DSANDBOX3.API.1%26silo_version%3D880%26app%3Dappdispatcher_apit%26TIME%3D1842797397;
117
+ domain=.paypal.com; path=/; Secure; HttpOnly
118
+ Content-Type:
119
+ - text/xml; charset=utf-8
120
+ body:
121
+ encoding: UTF-8
122
+ string: <?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
123
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
124
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema"
125
+ xmlns:cc="urn:ebay:apis:CoreComponentTypes" xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/07/utility"
126
+ xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
127
+ xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext" xmlns:ed="urn:ebay:apis:EnhancedDataTypes"
128
+ xmlns:ebl="urn:ebay:apis:eBLBaseComponents" xmlns:ns="urn:ebay:api:PayPalAPI"><SOAP-ENV:Header><Security
129
+ xmlns="http://schemas.xmlsoap.org/ws/2002/12/secext" xsi:type="wsse:SecurityType"></Security><RequesterCredentials
130
+ xmlns="urn:ebay:api:PayPalAPI" xsi:type="ebl:CustomSecurityHeaderType"><Credentials
131
+ xmlns="urn:ebay:apis:eBLBaseComponents" xsi:type="ebl:UserIdPasswordType"><Username
132
+ xsi:type="xs:string"></Username><Password xsi:type="xs:string"></Password><Signature
133
+ xsi:type="xs:string"></Signature><Subject xsi:type="xs:string"></Subject></Credentials></RequesterCredentials></SOAP-ENV:Header><SOAP-ENV:Body
134
+ id="_0"><GetExpressCheckoutDetailsResponse xmlns="urn:ebay:api:PayPalAPI"><Timestamp
135
+ xmlns="urn:ebay:apis:eBLBaseComponents">2015-08-25T02:43:57Z</Timestamp><Ack
136
+ xmlns="urn:ebay:apis:eBLBaseComponents">Failure</Ack><CorrelationID xmlns="urn:ebay:apis:eBLBaseComponents">8652fe4a9c9f6</CorrelationID><Errors
137
+ xmlns="urn:ebay:apis:eBLBaseComponents" xsi:type="ebl:ErrorType"><ShortMessage
138
+ xsi:type="xs:string">This Express Checkout session has expired.</ShortMessage><LongMessage
139
+ xsi:type="xs:string">This Express Checkout session has expired. Token value
140
+ is no longer valid.</LongMessage><ErrorCode xsi:type="xs:token">10411</ErrorCode><SeverityCode
141
+ xmlns="urn:ebay:apis:eBLBaseComponents">Error</SeverityCode></Errors><Version
142
+ xmlns="urn:ebay:apis:eBLBaseComponents">72</Version><Build xmlns="urn:ebay:apis:eBLBaseComponents">000000</Build><GetExpressCheckoutDetailsResponseDetails
143
+ xmlns="urn:ebay:apis:eBLBaseComponents" xsi:type="ebl:GetExpressCheckoutDetailsResponseDetailsType"><PayerInfo
144
+ xsi:type="ebl:PayerInfoType"><Payer xsi:type="ebl:EmailAddressType"></Payer><PayerID
145
+ xsi:type="ebl:UserIDType"></PayerID><PayerStatus xsi:type="ebl:PayPalUserStatusCodeType">unverified</PayerStatus><PayerName
146
+ xsi:type="ebl:PersonNameType"><Salutation xmlns="urn:ebay:apis:eBLBaseComponents"></Salutation><FirstName
147
+ xmlns="urn:ebay:apis:eBLBaseComponents"></FirstName><MiddleName xmlns="urn:ebay:apis:eBLBaseComponents"></MiddleName><LastName
148
+ xmlns="urn:ebay:apis:eBLBaseComponents"></LastName><Suffix xmlns="urn:ebay:apis:eBLBaseComponents"></Suffix></PayerName><PayerBusiness
149
+ xsi:type="xs:string"></PayerBusiness><Address xsi:type="ebl:AddressType"><Name
150
+ xsi:type="xs:string"></Name><Street1 xsi:type="xs:string"></Street1><Street2
151
+ xsi:type="xs:string"></Street2><CityName xsi:type="xs:string"></CityName><StateOrProvince
152
+ xsi:type="xs:string"></StateOrProvince><CountryName></CountryName><PostalCode
153
+ xsi:type="xs:string"></PostalCode><AddressOwner xsi:type="ebl:AddressOwnerCodeType">PayPal</AddressOwner><AddressStatus
154
+ xsi:type="ebl:AddressStatusCodeType">None</AddressStatus></Address></PayerInfo><PaymentDetails
155
+ xsi:type="ebl:PaymentDetailsType"><ShipToAddress xsi:type="ebl:AddressType"><Name
156
+ xsi:type="xs:string"></Name><Street1 xsi:type="xs:string"></Street1><Street2
157
+ xsi:type="xs:string"></Street2><CityName xsi:type="xs:string"></CityName><StateOrProvince
158
+ xsi:type="xs:string"></StateOrProvince><CountryName></CountryName><Phone xsi:type="xs:string"></Phone><PostalCode
159
+ xsi:type="xs:string"></PostalCode><AddressID xsi:type="xs:string"></AddressID><AddressOwner
160
+ xsi:type="ebl:AddressOwnerCodeType">PayPal</AddressOwner><ExternalAddressID
161
+ xsi:type="xs:string"></ExternalAddressID><AddressStatus xsi:type="ebl:AddressStatusCodeType">None</AddressStatus></ShipToAddress><SellerDetails
162
+ xsi:type="ebl:SellerDetailsType"></SellerDetails><PaymentRequestID xsi:type="xs:string"></PaymentRequestID><OrderURL
163
+ xsi:type="xs:string"></OrderURL><SoftDescriptor xsi:type="xs:string"></SoftDescriptor></PaymentDetails><CheckoutStatus
164
+ xsi:type="xs:string"></CheckoutStatus><PaymentRequestInfo xsi:type="ebl:PaymentRequestInfoType"></PaymentRequestInfo></GetExpressCheckoutDetailsResponseDetails></GetExpressCheckoutDetailsResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
165
+ http_version:
166
+ recorded_at: Tue, 25 Aug 2015 02:43:58 GMT
79
167
  recorded_with: VCR 2.9.3
@@ -0,0 +1,78 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api-3t.sandbox.paypal.com/2.0/
6
+ body:
7
+ encoding: UTF-8
8
+ string: |-
9
+ <?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Header><RequesterCredentials xmlns="urn:ebay:api:PayPalAPI" xmlns:n1="urn:ebay:apis:eBLBaseComponents" env:mustUnderstand="0"><n1:Credentials><n1:Username>secret.gmail.com</n1:Username><n1:Password>1234</n1:Password><n1:Subject>sell_1342421142_biz@gmail.com</n1:Subject><n1:Signature>uIxgJw8</n1:Signature></n1:Credentials></RequesterCredentials></env:Header><env:Body><DoExpressCheckoutPaymentReq xmlns="urn:ebay:api:PayPalAPI">
10
+ <DoExpressCheckoutPaymentRequest xmlns:n2="urn:ebay:apis:eBLBaseComponents">
11
+ <n2:Version>72</n2:Version>
12
+ <n2:DoExpressCheckoutPaymentRequestDetails>
13
+ <n2:PaymentAction>Sale</n2:PaymentAction>
14
+ <n2:Token>EC-1V3899965N3430404</n2:Token>
15
+ <n2:PayerID>U5NT2CMSQKGYS</n2:PayerID>
16
+ <n2:PaymentDetails>
17
+ <n2:OrderTotal currencyID="USD">2.00</n2:OrderTotal>
18
+ <n2:ButtonSource>ActiveMerchant</n2:ButtonSource>
19
+ <n2:NotifyURL>https://paypal-sdk-samples.herokuapp.com/merchant/ipn_notify</n2:NotifyURL>
20
+ </n2:PaymentDetails>
21
+ </n2:DoExpressCheckoutPaymentRequestDetails>
22
+ </DoExpressCheckoutPaymentRequest>
23
+ </DoExpressCheckoutPaymentReq>
24
+ </env:Body></env:Envelope>
25
+ headers:
26
+ Content-Type:
27
+ - application/x-www-form-urlencoded
28
+ Accept-Encoding:
29
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
30
+ Accept:
31
+ - "*/*"
32
+ User-Agent:
33
+ - Ruby
34
+ response:
35
+ status:
36
+ code: 200
37
+ message: OK
38
+ headers:
39
+ Date:
40
+ - Tue, 25 Aug 2015 02:09:50 GMT
41
+ Server:
42
+ - Apache
43
+ Connection:
44
+ - close
45
+ Content-Length:
46
+ - '2251'
47
+ Set-Cookie:
48
+ - X-PP-SILOVER=; Expires=Thu, 01 Jan 1970 00:00:01 GMT
49
+ - X-PP-SILOVER=name%3DSANDBOX3.API.1%26silo_version%3D880%26app%3Dappdispatcher_apit%26TIME%3D1859050325;
50
+ domain=.paypal.com; path=/; Secure; HttpOnly
51
+ Content-Type:
52
+ - text/xml; charset=utf-8
53
+ body:
54
+ encoding: UTF-8
55
+ string: <?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
56
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
57
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema"
58
+ xmlns:cc="urn:ebay:apis:CoreComponentTypes" xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/07/utility"
59
+ xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
60
+ xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext" xmlns:ed="urn:ebay:apis:EnhancedDataTypes"
61
+ xmlns:ebl="urn:ebay:apis:eBLBaseComponents" xmlns:ns="urn:ebay:api:PayPalAPI"><SOAP-ENV:Header><Security
62
+ xmlns="http://schemas.xmlsoap.org/ws/2002/12/secext" xsi:type="wsse:SecurityType"></Security><RequesterCredentials
63
+ xmlns="urn:ebay:api:PayPalAPI" xsi:type="ebl:CustomSecurityHeaderType"><Credentials
64
+ xmlns="urn:ebay:apis:eBLBaseComponents" xsi:type="ebl:UserIdPasswordType"><Username
65
+ xsi:type="xs:string"></Username><Password xsi:type="xs:string"></Password><Signature
66
+ xsi:type="xs:string"></Signature><Subject xsi:type="xs:string"></Subject></Credentials></RequesterCredentials></SOAP-ENV:Header><SOAP-ENV:Body
67
+ id="_0"><DoExpressCheckoutPaymentResponse xmlns="urn:ebay:api:PayPalAPI"><Timestamp
68
+ xmlns="urn:ebay:apis:eBLBaseComponents">2015-08-25T02:09:50Z</Timestamp><Ack
69
+ xmlns="urn:ebay:apis:eBLBaseComponents">Failure</Ack><CorrelationID xmlns="urn:ebay:apis:eBLBaseComponents">96e0cc8972f94</CorrelationID><Errors
70
+ xmlns="urn:ebay:apis:eBLBaseComponents" xsi:type="ebl:ErrorType"><ShortMessage
71
+ xsi:type="xs:string">Security error</ShortMessage><LongMessage xsi:type="xs:string">Security
72
+ header is not valid</LongMessage><ErrorCode xsi:type="xs:token">10002</ErrorCode><SeverityCode
73
+ xmlns="urn:ebay:apis:eBLBaseComponents">Error</SeverityCode></Errors><Version
74
+ xmlns="urn:ebay:apis:eBLBaseComponents">72</Version><Build xmlns="urn:ebay:apis:eBLBaseComponents">000000</Build><DoExpressCheckoutPaymentResponseDetails
75
+ xmlns="urn:ebay:apis:eBLBaseComponents" xsi:type="ebl:DoExpressCheckoutPaymentResponseDetailsType"></DoExpressCheckoutPaymentResponseDetails></DoExpressCheckoutPaymentResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
76
+ http_version:
77
+ recorded_at: Tue, 25 Aug 2015 02:09:50 GMT
78
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,171 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api-3t.sandbox.paypal.com/2.0/
6
+ body:
7
+ encoding: UTF-8
8
+ string: |-
9
+ <?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Header><RequesterCredentials xmlns="urn:ebay:api:PayPalAPI" xmlns:n1="urn:ebay:apis:eBLBaseComponents" env:mustUnderstand="0"><n1:Credentials><n1:Username>jb-us-seller_api1.paypal.com</n1:Username><n1:Password>WX4WTU3S8MY44S7F</n1:Password><n1:Subject>sell_1342421142_biz@gmail.com</n1:Subject><n1:Signature>AFcWxV21C7fd0v3bYYYRCpSSRl31A7yDhhsPUU2XhtMoZXsWHFxu-RWy</n1:Signature></n1:Credentials></RequesterCredentials></env:Header><env:Body><SetExpressCheckoutReq xmlns="urn:ebay:api:PayPalAPI">
10
+ <SetExpressCheckoutRequest xmlns:n2="urn:ebay:apis:eBLBaseComponents">
11
+ <n2:Version>72</n2:Version>
12
+ <n2:SetExpressCheckoutRequestDetails>
13
+ <n2:ReturnURL>http://www.rubyplus.com</n2:ReturnURL>
14
+ <n2:CancelURL>http://www.rubyplus.com/about</n2:CancelURL>
15
+ <n2:ReqBillingAddress>0</n2:ReqBillingAddress>
16
+ <n2:NoShipping>0</n2:NoShipping>
17
+ <n2:AddressOverride>0</n2:AddressOverride>
18
+ <n2:SolutionType>Sole</n2:SolutionType>
19
+ <n2:LandingPage>Billing</n2:LandingPage>
20
+ <n2:PaymentDetails>
21
+ <n2:OrderTotal currencyID="USD">2.00</n2:OrderTotal>
22
+ <n2:Custom>custom</n2:Custom>
23
+ <n2:ButtonSource>ActiveMerchant</n2:ButtonSource>
24
+ <n2:PaymentAction>Sale</n2:PaymentAction>
25
+ </n2:PaymentDetails>
26
+ </n2:SetExpressCheckoutRequestDetails>
27
+ </SetExpressCheckoutRequest>
28
+ </SetExpressCheckoutReq>
29
+ </env:Body></env:Envelope>
30
+ headers:
31
+ Content-Type:
32
+ - application/x-www-form-urlencoded
33
+ Accept-Encoding:
34
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
35
+ Accept:
36
+ - "*/*"
37
+ User-Agent:
38
+ - Ruby
39
+ response:
40
+ status:
41
+ code: 200
42
+ message: OK
43
+ headers:
44
+ Date:
45
+ - Tue, 25 Aug 2015 02:45:13 GMT
46
+ Server:
47
+ - Apache
48
+ Connection:
49
+ - close
50
+ Content-Length:
51
+ - '1788'
52
+ Set-Cookie:
53
+ - X-PP-SILOVER=; Expires=Thu, 01 Jan 1970 00:00:01 GMT
54
+ - X-PP-SILOVER=name%3DSANDBOX3.API.1%26silo_version%3D880%26app%3Dappdispatcher_apit%26TIME%3D3117865813;
55
+ domain=.paypal.com; path=/; Secure; HttpOnly
56
+ Content-Type:
57
+ - text/xml; charset=utf-8
58
+ body:
59
+ encoding: UTF-8
60
+ string: <?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
61
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
62
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema"
63
+ xmlns:cc="urn:ebay:apis:CoreComponentTypes" xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/07/utility"
64
+ xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
65
+ xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext" xmlns:ed="urn:ebay:apis:EnhancedDataTypes"
66
+ xmlns:ebl="urn:ebay:apis:eBLBaseComponents" xmlns:ns="urn:ebay:api:PayPalAPI"><SOAP-ENV:Header><Security
67
+ xmlns="http://schemas.xmlsoap.org/ws/2002/12/secext" xsi:type="wsse:SecurityType"></Security><RequesterCredentials
68
+ xmlns="urn:ebay:api:PayPalAPI" xsi:type="ebl:CustomSecurityHeaderType"><Credentials
69
+ xmlns="urn:ebay:apis:eBLBaseComponents" xsi:type="ebl:UserIdPasswordType"><Username
70
+ xsi:type="xs:string"></Username><Password xsi:type="xs:string"></Password><Signature
71
+ xsi:type="xs:string"></Signature><Subject xsi:type="xs:string"></Subject></Credentials></RequesterCredentials></SOAP-ENV:Header><SOAP-ENV:Body
72
+ id="_0"><SetExpressCheckoutResponse xmlns="urn:ebay:api:PayPalAPI"><Timestamp
73
+ xmlns="urn:ebay:apis:eBLBaseComponents">2015-08-25T02:45:13Z</Timestamp><Ack
74
+ xmlns="urn:ebay:apis:eBLBaseComponents">Success</Ack><CorrelationID xmlns="urn:ebay:apis:eBLBaseComponents">840d2f6d192f3</CorrelationID><Version
75
+ xmlns="urn:ebay:apis:eBLBaseComponents">72</Version><Build xmlns="urn:ebay:apis:eBLBaseComponents">000000</Build><Token
76
+ xsi:type="ebl:ExpressCheckoutTokenType">EC-8B9247840P4755359</Token></SetExpressCheckoutResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
77
+ http_version:
78
+ recorded_at: Tue, 25 Aug 2015 02:45:13 GMT
79
+ - request:
80
+ method: post
81
+ uri: https://api-3t.sandbox.paypal.com/2.0/
82
+ body:
83
+ encoding: UTF-8
84
+ string: |-
85
+ <?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Header><RequesterCredentials xmlns="urn:ebay:api:PayPalAPI" xmlns:n1="urn:ebay:apis:eBLBaseComponents" env:mustUnderstand="0"><n1:Credentials><n1:Username>jb-us-seller_api1.paypal.com</n1:Username><n1:Password>WX4WTU3S8MY44S7F</n1:Password><n1:Subject>sell_1342421142_biz@gmail.com</n1:Subject><n1:Signature>AFcWxV21C7fd0v3bYYYRCpSSRl31A7yDhhsPUU2XhtMoZXsWHFxu-RWy</n1:Signature></n1:Credentials></RequesterCredentials></env:Header><env:Body><GetExpressCheckoutDetailsReq xmlns="urn:ebay:api:PayPalAPI">
86
+ <GetExpressCheckoutDetailsRequest xmlns:n2="urn:ebay:apis:eBLBaseComponents">
87
+ <n2:Version>72</n2:Version>
88
+ <Token>EC-8B9247840P4755359</Token>
89
+ </GetExpressCheckoutDetailsRequest>
90
+ </GetExpressCheckoutDetailsReq>
91
+ </env:Body></env:Envelope>
92
+ headers:
93
+ Content-Type:
94
+ - application/x-www-form-urlencoded
95
+ Accept-Encoding:
96
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
97
+ Accept:
98
+ - "*/*"
99
+ User-Agent:
100
+ - Ruby
101
+ response:
102
+ status:
103
+ code: 200
104
+ message: OK
105
+ headers:
106
+ Date:
107
+ - Tue, 25 Aug 2015 02:45:13 GMT
108
+ Server:
109
+ - Apache
110
+ Connection:
111
+ - close
112
+ Content-Length:
113
+ - '4884'
114
+ Set-Cookie:
115
+ - X-PP-SILOVER=; Expires=Thu, 01 Jan 1970 00:00:01 GMT
116
+ - X-PP-SILOVER=name%3DSANDBOX3.API.1%26silo_version%3D880%26app%3Dappdispatcher_apit%26TIME%3D3117865813;
117
+ domain=.paypal.com; path=/; Secure; HttpOnly
118
+ Content-Type:
119
+ - text/xml; charset=utf-8
120
+ body:
121
+ encoding: UTF-8
122
+ string: <?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
123
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
124
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema"
125
+ xmlns:cc="urn:ebay:apis:CoreComponentTypes" xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/07/utility"
126
+ xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
127
+ xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext" xmlns:ed="urn:ebay:apis:EnhancedDataTypes"
128
+ xmlns:ebl="urn:ebay:apis:eBLBaseComponents" xmlns:ns="urn:ebay:api:PayPalAPI"><SOAP-ENV:Header><Security
129
+ xmlns="http://schemas.xmlsoap.org/ws/2002/12/secext" xsi:type="wsse:SecurityType"></Security><RequesterCredentials
130
+ xmlns="urn:ebay:api:PayPalAPI" xsi:type="ebl:CustomSecurityHeaderType"><Credentials
131
+ xmlns="urn:ebay:apis:eBLBaseComponents" xsi:type="ebl:UserIdPasswordType"><Username
132
+ xsi:type="xs:string"></Username><Password xsi:type="xs:string"></Password><Signature
133
+ xsi:type="xs:string"></Signature><Subject xsi:type="xs:string"></Subject></Credentials></RequesterCredentials></SOAP-ENV:Header><SOAP-ENV:Body
134
+ id="_0"><GetExpressCheckoutDetailsResponse xmlns="urn:ebay:api:PayPalAPI"><Timestamp
135
+ xmlns="urn:ebay:apis:eBLBaseComponents">2015-08-25T02:45:13Z</Timestamp><Ack
136
+ xmlns="urn:ebay:apis:eBLBaseComponents">Success</Ack><CorrelationID xmlns="urn:ebay:apis:eBLBaseComponents">ad5aa76187289</CorrelationID><Version
137
+ xmlns="urn:ebay:apis:eBLBaseComponents">72</Version><Build xmlns="urn:ebay:apis:eBLBaseComponents">000000</Build><GetExpressCheckoutDetailsResponseDetails
138
+ xmlns="urn:ebay:apis:eBLBaseComponents" xsi:type="ebl:GetExpressCheckoutDetailsResponseDetailsType"><Token
139
+ xsi:type="ebl:ExpressCheckoutTokenType">EC-8B9247840P4755359</Token><PayerInfo
140
+ xsi:type="ebl:PayerInfoType"><Payer xsi:type="ebl:EmailAddressType"></Payer><PayerID
141
+ xsi:type="ebl:UserIDType"></PayerID><PayerStatus xsi:type="ebl:PayPalUserStatusCodeType">unverified</PayerStatus><PayerName
142
+ xsi:type="ebl:PersonNameType"><Salutation xmlns="urn:ebay:apis:eBLBaseComponents"></Salutation><FirstName
143
+ xmlns="urn:ebay:apis:eBLBaseComponents"></FirstName><MiddleName xmlns="urn:ebay:apis:eBLBaseComponents"></MiddleName><LastName
144
+ xmlns="urn:ebay:apis:eBLBaseComponents"></LastName><Suffix xmlns="urn:ebay:apis:eBLBaseComponents"></Suffix></PayerName><PayerBusiness
145
+ xsi:type="xs:string"></PayerBusiness><Address xsi:type="ebl:AddressType"><Name
146
+ xsi:type="xs:string"></Name><Street1 xsi:type="xs:string"></Street1><Street2
147
+ xsi:type="xs:string"></Street2><CityName xsi:type="xs:string"></CityName><StateOrProvince
148
+ xsi:type="xs:string"></StateOrProvince><CountryName></CountryName><PostalCode
149
+ xsi:type="xs:string"></PostalCode><AddressOwner xsi:type="ebl:AddressOwnerCodeType">PayPal</AddressOwner><AddressStatus
150
+ xsi:type="ebl:AddressStatusCodeType">None</AddressStatus></Address></PayerInfo><Custom
151
+ xsi:type="xs:string">custom</Custom><BillingAgreementAcceptedStatus>false</BillingAgreementAcceptedStatus><PaymentDetails
152
+ xsi:type="ebl:PaymentDetailsType"><OrderTotal xsi:type="cc:BasicAmountType"
153
+ currencyID="USD">2.00</OrderTotal><ShippingTotal xsi:type="cc:BasicAmountType"
154
+ currencyID="USD">0.00</ShippingTotal><HandlingTotal xsi:type="cc:BasicAmountType"
155
+ currencyID="USD">0.00</HandlingTotal><TaxTotal xsi:type="cc:BasicAmountType"
156
+ currencyID="USD">0.00</TaxTotal><Custom xsi:type="xs:string">custom</Custom><ShipToAddress
157
+ xsi:type="ebl:AddressType"><Name xsi:type="xs:string"></Name><Street1 xsi:type="xs:string"></Street1><Street2
158
+ xsi:type="xs:string"></Street2><CityName xsi:type="xs:string"></CityName><StateOrProvince
159
+ xsi:type="xs:string"></StateOrProvince><CountryName></CountryName><Phone xsi:type="xs:string"></Phone><PostalCode
160
+ xsi:type="xs:string"></PostalCode><AddressID xsi:type="xs:string"></AddressID><AddressOwner
161
+ xsi:type="ebl:AddressOwnerCodeType">PayPal</AddressOwner><ExternalAddressID
162
+ xsi:type="xs:string"></ExternalAddressID><AddressStatus xsi:type="ebl:AddressStatusCodeType">None</AddressStatus></ShipToAddress><InsuranceTotal
163
+ xsi:type="cc:BasicAmountType" currencyID="USD">0.00</InsuranceTotal><ShippingDiscount
164
+ xsi:type="cc:BasicAmountType" currencyID="USD">0.00</ShippingDiscount><InsuranceOptionOffered
165
+ xsi:type="xs:string">false</InsuranceOptionOffered><SellerDetails xsi:type="ebl:SellerDetailsType"></SellerDetails><PaymentRequestID
166
+ xsi:type="xs:string"></PaymentRequestID><OrderURL xsi:type="xs:string"></OrderURL><SoftDescriptor
167
+ xsi:type="xs:string"></SoftDescriptor></PaymentDetails><CheckoutStatus xsi:type="xs:string">PaymentActionNotInitiated</CheckoutStatus><PaymentRequestInfo
168
+ xsi:type="ebl:PaymentRequestInfoType"></PaymentRequestInfo></GetExpressCheckoutDetailsResponseDetails></GetExpressCheckoutDetailsResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
169
+ http_version:
170
+ recorded_at: Tue, 25 Aug 2015 02:45:13 GMT
171
+ recorded_with: VCR 2.9.3
@@ -4,6 +4,11 @@ module Yukon
4
4
 
5
5
  class PaymentGateway
6
6
 
7
+ # Pre-requisite - Rails app must configure the login, password and signature in config/initializers/yukon.rb
8
+ #
9
+ # Argument : seller's email address
10
+ #
11
+ # Returns ActiveMerchant::Billing::PaypalExpressGateway object
7
12
  def self.create(seller_email)
8
13
  options = {
9
14
  login: Yukon.login,
@@ -4,11 +4,22 @@ module Yukon
4
4
  def initialize(seller_email)
5
5
  @gateway = PaymentGateway.create(seller_email)
6
6
  end
7
+
7
8
  #
8
9
  # Part of Web Request 1
9
10
  #
10
11
  # Step 1 : SetExpressCheckout
11
- # price (in cents), buyer_ip, return_url, cancel_return_url, seller_email, notify_url (optional), custom
12
+ #
13
+ # price : Amount to be charged in cents
14
+ # ip : Buyer IP address
15
+ # return_url : URL to return after completing the purchase
16
+ # cancel_return_url : URL to return if purchase is cancelled
17
+ # seller_email : Email address of the seller
18
+ # notify_url : IPN notification URL (optional)
19
+ # custom : custom variable
20
+ #
21
+ # Returns : PaypalExpressResponse object
22
+ #
12
23
  def set_express_checkout(price, ip, return_url, cancel_return_url, custom)
13
24
  response = @gateway.setup_purchase(price,
14
25
  ip: ip,
@@ -23,6 +34,10 @@ module Yukon
23
34
  # Part of Web Request 1
24
35
  #
25
36
  # End of Step 1 : Redirect to Paypal URL : args - response
37
+ #
38
+ # Argument : PaypalExpressResponse
39
+ #
40
+ # Returns URL : https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-5TC81926SR152035B
26
41
  def redirect_url_for(response)
27
42
  @gateway.redirect_url_for(response.token)
28
43
  end
@@ -30,7 +45,11 @@ module Yukon
30
45
  #
31
46
  # Part of Web Request 2
32
47
  #
33
- # Step 2 : GetExpressCheckoutDetails : args - token
48
+ # Step 2 : GetExpressCheckoutDetails
49
+ #
50
+ # Argument - token in string format
51
+ #
52
+ # Returns : details
34
53
  def get_express_checkout_details(token)
35
54
  @gateway.details_for(token)
36
55
  end
@@ -39,8 +58,17 @@ module Yukon
39
58
  # Part of Web Request 2
40
59
  #
41
60
  # Step 3 : DoExpressCheckoutPayment
42
- def do_express_checkout_payment(price, options)
43
- @gateway.purchase(price, options)
61
+ #
62
+ # Arguments
63
+ #
64
+ # price : Amount to be charged in cents
65
+ # ip, token and payer_id
66
+ # Returns PaypalExpressResponse object
67
+ def do_express_checkout_payment(price, ip, token, payer_id)
68
+ @gateway.purchase(price,
69
+ ip: ip,
70
+ token: token,
71
+ payer_id: payer_id)
44
72
  end
45
73
 
46
74
  end
data/lib/yukon/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Yukon
2
- VERSION = "0.3.0"
2
+ VERSION = "0.4.0"
3
3
  end
data/yukon.gemspec CHANGED
@@ -19,6 +19,8 @@ Gem::Specification.new do |spec|
19
19
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
20
  spec.require_paths = ["lib"]
21
21
 
22
+ spec.required_ruby_version = '>= 2.2.2'
23
+
22
24
  spec.add_dependency 'activemerchant', "~> 1.52"
23
25
  spec.add_dependency 'lyon', "~> 0.1"
24
26
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yukon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bala Paranj
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-08-23 00:00:00.000000000 Z
11
+ date: 2015-08-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemerchant
@@ -129,6 +129,8 @@ files:
129
129
  - config/paypal-sample.yml
130
130
  - config/paypal.yml
131
131
  - fixtures/vcr_cassettes/payments.yml
132
+ - fixtures/vcr_cassettes/purchase.yml
133
+ - fixtures/vcr_cassettes/step2.yml
132
134
  - lib/yukon.rb
133
135
  - lib/yukon/payment_gateway.rb
134
136
  - lib/yukon/payment_processor.rb
@@ -146,7 +148,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
146
148
  requirements:
147
149
  - - ">="
148
150
  - !ruby/object:Gem::Version
149
- version: '0'
151
+ version: 2.2.2
150
152
  required_rubygems_version: !ruby/object:Gem::Requirement
151
153
  requirements:
152
154
  - - ">="
@@ -154,7 +156,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
154
156
  version: '0'
155
157
  requirements: []
156
158
  rubyforge_project:
157
- rubygems_version: 2.4.6
159
+ rubygems_version: 2.4.5.1
158
160
  signing_key:
159
161
  specification_version: 4
160
162
  summary: Payment processing using Paypal.