paypal-sdk-rest 1.2.2 → 1.3.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 +4 -4
- data/README.md +3 -0
- data/data/DigiCertHighAssuranceEVRootCA.pem +23 -0
- data/data/DigiCertSHA2ExtendedValidationServerCA.pem +28 -0
- data/lib/paypal-sdk/rest/data_types.rb +59 -0
- data/lib/paypal-sdk/rest/version.rb +1 -1
- data/spec/log/http.log +43 -449
- data/spec/webhooks_examples_spec.rb +60 -18
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1369829fd94d5e5c88efc0b2eb125d831530db5c
|
4
|
+
data.tar.gz: 4edb7a761901ad85b11d9f4bb1c088dbefec5a08
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3a71e40ce13cca8caed3e4baa7b69f74b3b7c3a86bb642a5bed156674ad8046d8959a5f16c83366f4692beecaccc5a143739df6f5b19c562b41c40719e88d5df
|
7
|
+
data.tar.gz: b59fcd91ee22538d89df29297b990286dc89df150fc111864ef55019c2781bcfa7306266848c741dfd52f582d078d6c1faa4960ce9126aae03be7040c1e64fd3
|
data/README.md
CHANGED
@@ -193,6 +193,9 @@ end
|
|
193
193
|
## Create Future Payment
|
194
194
|
[Future Payments](https://developer.paypal.com/docs/integration/mobile/make-future-payment/) sample is available [here](https://github.com/paypal/rest-api-sdk-ruby/blob/master/spec/payments_examples_spec.rb#L149)
|
195
195
|
|
196
|
+
## Webhook event validation
|
197
|
+
See [webhook event validation code sample](https://github.com/paypal/PayPal-Ruby-SDK/blob/master/samples/notifications/verify_webhook_event.rb) and [webhook event validation docs](https://developer.paypal.com/docs/integration/direct/rest-webhooks-overview/#event-signature)
|
198
|
+
|
196
199
|
## OpenID Connect
|
197
200
|
|
198
201
|
```ruby
|
@@ -0,0 +1,23 @@
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
2
|
+
MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs
|
3
|
+
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
|
4
|
+
d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j
|
5
|
+
ZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAwMFoXDTMxMTExMDAwMDAwMFowbDEL
|
6
|
+
MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3
|
7
|
+
LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug
|
8
|
+
RVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm
|
9
|
+
+9S75S0tMqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTW
|
10
|
+
PNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEM
|
11
|
+
xChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFB
|
12
|
+
Ik5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3
|
13
|
+
hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsg
|
14
|
+
EsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQF
|
15
|
+
MAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaA
|
16
|
+
FLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3Nec
|
17
|
+
nzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6z
|
18
|
+
eM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VHMWEZ71jF
|
19
|
+
hS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkKmNEVX58Svnw2
|
20
|
+
Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe
|
21
|
+
vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep
|
22
|
+
+OkuE6N36B9K
|
23
|
+
-----END CERTIFICATE-----
|
@@ -0,0 +1,28 @@
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
2
|
+
MIIEtjCCA56gAwIBAgIQDHmpRLCMEZUgkmFf4msdgzANBgkqhkiG9w0BAQsFADBs
|
3
|
+
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
|
4
|
+
d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j
|
5
|
+
ZSBFViBSb290IENBMB4XDTEzMTAyMjEyMDAwMFoXDTI4MTAyMjEyMDAwMFowdTEL
|
6
|
+
MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3
|
7
|
+
LmRpZ2ljZXJ0LmNvbTE0MDIGA1UEAxMrRGlnaUNlcnQgU0hBMiBFeHRlbmRlZCBW
|
8
|
+
YWxpZGF0aW9uIFNlcnZlciBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
|
9
|
+
ggEBANdTpARR+JmmFkhLZyeqk0nQOe0MsLAAh/FnKIaFjI5j2ryxQDji0/XspQUY
|
10
|
+
uD0+xZkXMuwYjPrxDKZkIYXLBxA0sFKIKx9om9KxjxKws9LniB8f7zh3VFNfgHk/
|
11
|
+
LhqqqB5LKw2rt2O5Nbd9FLxZS99RStKh4gzikIKHaq7q12TWmFXo/a8aUGxUvBHy
|
12
|
+
/Urynbt/DvTVvo4WiRJV2MBxNO723C3sxIclho3YIeSwTQyJ3DkmF93215SF2AQh
|
13
|
+
cJ1vb/9cuhnhRctWVyh+HA1BV6q3uCe7seT6Ku8hI3UarS2bhjWMnHe1c63YlC3k
|
14
|
+
8wyd7sFOYn4XwHGeLN7x+RAoGTMCAwEAAaOCAUkwggFFMBIGA1UdEwEB/wQIMAYB
|
15
|
+
Af8CAQAwDgYDVR0PAQH/BAQDAgGGMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEF
|
16
|
+
BQcDAjA0BggrBgEFBQcBAQQoMCYwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRp
|
17
|
+
Z2ljZXJ0LmNvbTBLBgNVHR8ERDBCMECgPqA8hjpodHRwOi8vY3JsNC5kaWdpY2Vy
|
18
|
+
dC5jb20vRGlnaUNlcnRIaWdoQXNzdXJhbmNlRVZSb290Q0EuY3JsMD0GA1UdIAQ2
|
19
|
+
MDQwMgYEVR0gADAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy5kaWdpY2VydC5j
|
20
|
+
b20vQ1BTMB0GA1UdDgQWBBQ901Cl1qCt7vNKYApl0yHU+PjWDzAfBgNVHSMEGDAW
|
21
|
+
gBSxPsNpA/i/RwHUmCYaCALvY2QrwzANBgkqhkiG9w0BAQsFAAOCAQEAnbbQkIbh
|
22
|
+
hgLtxaDwNBx0wY12zIYKqPBKikLWP8ipTa18CK3mtlC4ohpNiAexKSHc59rGPCHg
|
23
|
+
4xFJcKx6HQGkyhE6V6t9VypAdP3THYUYUN9XR3WhfVUgLkc3UHKMf4Ib0mKPLQNa
|
24
|
+
2sPIoc4sUqIAY+tzunHISScjl2SFnjgOrWNoPLpSgVh5oywM395t6zHyuqB8bPEs
|
25
|
+
1OG9d4Q3A84ytciagRpKkk47RpqF/oOi+Z6Mo8wNXrM9zwR4jxQUezKcxwCmXMS1
|
26
|
+
oVWNWlZopCJwqjyBcdmdqEU79OX2olHdx3ti6G8MdOu42vi/hw15UJGQmxg7kVkn
|
27
|
+
8TUoE6smftX3eg==
|
28
|
+
-----END CERTIFICATE-----
|
@@ -1,6 +1,9 @@
|
|
1
1
|
require 'paypal-sdk-core'
|
2
2
|
require 'uuidtools'
|
3
3
|
require 'multi_json'
|
4
|
+
require 'open-uri'
|
5
|
+
require 'zlib'
|
6
|
+
require "base64"
|
4
7
|
|
5
8
|
module PayPal::SDK
|
6
9
|
module REST
|
@@ -1085,6 +1088,62 @@ module PayPal::SDK
|
|
1085
1088
|
|
1086
1089
|
class << self
|
1087
1090
|
|
1091
|
+
def get_cert(cert_url)
|
1092
|
+
data = open(cert_url).read()
|
1093
|
+
cert = OpenSSL::X509::Certificate.new data
|
1094
|
+
end
|
1095
|
+
|
1096
|
+
def get_cert_chain()
|
1097
|
+
root_cert = "data/DigiCertHighAssuranceEVRootCA.pem"
|
1098
|
+
intermediate_cert = "data/DigiCertSHA2ExtendedValidationServerCA.pem"
|
1099
|
+
|
1100
|
+
cert_store = OpenSSL::X509::Store.new
|
1101
|
+
cert_store.add_file(root_cert)
|
1102
|
+
cert_store.add_file(intermediate_cert)
|
1103
|
+
|
1104
|
+
cert_store
|
1105
|
+
end
|
1106
|
+
|
1107
|
+
def get_expected_sig(transmission_id, timestamp, webhook_id, event_body)
|
1108
|
+
crc = Zlib::crc32(event_body).to_s
|
1109
|
+
transmission_id + "|" + timestamp + "|" + webhook_id + "|" + crc
|
1110
|
+
end
|
1111
|
+
|
1112
|
+
def verify_common_name(cert)
|
1113
|
+
common_name = cert.subject.to_a.select{|name, _, _| name == 'CN' }.first[1]
|
1114
|
+
|
1115
|
+
common_name.start_with?("messageverificationcerts.") && common_name.end_with?("paypal.com")
|
1116
|
+
end
|
1117
|
+
|
1118
|
+
def verify_signature(transmission_id, timestamp, webhook_id, event_body, cert, actual_sig_encoded, algo)
|
1119
|
+
expected_sig = get_expected_sig(transmission_id, timestamp, webhook_id, event_body)
|
1120
|
+
|
1121
|
+
digest = OpenSSL::Digest.new(algo)
|
1122
|
+
digest.update(expected_sig)
|
1123
|
+
actual_sig = Base64.decode64(actual_sig_encoded).force_encoding('UTF-8')
|
1124
|
+
|
1125
|
+
cert.public_key.verify(digest, actual_sig, expected_sig)
|
1126
|
+
end
|
1127
|
+
|
1128
|
+
def verify_expiration(cert)
|
1129
|
+
cert.not_after >= Time.now
|
1130
|
+
end
|
1131
|
+
|
1132
|
+
def verify_cert_chain(cert_store, cert)
|
1133
|
+
cert_store.verify(cert)
|
1134
|
+
end
|
1135
|
+
|
1136
|
+
def verify_cert(cert)
|
1137
|
+
cert_store = get_cert_chain()
|
1138
|
+
|
1139
|
+
verify_cert_chain(cert_store, cert) && verify_common_name(cert) && verify_expiration(cert)
|
1140
|
+
end
|
1141
|
+
|
1142
|
+
def verify(transmission_id, timestamp, webhook_id, event_body, cert_url, sig, algo='sha256')
|
1143
|
+
cert = get_cert(cert_url)
|
1144
|
+
verify_signature(transmission_id, timestamp, webhook_id, event_body, cert, sig, algo) && verify_cert(cert)
|
1145
|
+
end
|
1146
|
+
|
1088
1147
|
def get_resource_class(name)
|
1089
1148
|
class_array = PayPal::SDK::REST.constants.select {|c| Class === PayPal::SDK::REST.const_get(c)}
|
1090
1149
|
class_array.each do |classname|
|
data/spec/log/http.log
CHANGED
@@ -2,512 +2,106 @@ opening connection to api.sandbox.paypal.com:443...
|
|
2
2
|
opened
|
3
3
|
starting SSL for api.sandbox.paypal.com:443...
|
4
4
|
SSL established
|
5
|
-
<- "POST /v1/
|
6
|
-
<- "{\"
|
7
|
-
-> "HTTP/1.1
|
8
|
-
-> "Date:
|
9
|
-
-> "Server: Apache\r\n"
|
10
|
-
-> "PROXY_SERVER_INFO: host=slcsbplatformapiserv3002.slc.paypal.com;threadId=205618\r\n"
|
11
|
-
-> "Paypal-Debug-Id: cc3c3ae9bd7e2\r\n"
|
12
|
-
-> "Connection: close\r\n"
|
13
|
-
-> "Content-Length: 145\r\n"
|
14
|
-
-> "Set-Cookie: X-PP-SILOVER=name%3DSANDBOX3.API.1%26silo_version%3D880%26app%3Dplatformapiserv%26TIME%3D3889398101; domain=.paypal.com; path=/; Secure; HttpOnly\r\n"
|
15
|
-
-> "Set-Cookie: X-PP-SILOVER=; Expires=Thu, 01 Jan 1970 00:00:01 GMT\r\n"
|
16
|
-
-> "Vary: Authorization\r\n"
|
17
|
-
-> "Content-Type: application/json\r\n"
|
18
|
-
-> "\r\n"
|
19
|
-
reading 145 bytes...
|
20
|
-
-> "{\"name\":\"INTERNAL_SERVICE_ERROR\",\"information_link\":\"https://api.sandbox.paypal.com/docs/api/#INTERNAL_SERVICE_ERROR\",\"debug_id\":\"cc3c3ae9bd7e2\"}"
|
21
|
-
read 145 bytes
|
22
|
-
Conn close
|
23
|
-
opening connection to api.sandbox.paypal.com:443...
|
24
|
-
opened
|
25
|
-
starting SSL for api.sandbox.paypal.com:443...
|
26
|
-
SSL established
|
27
|
-
<- "POST /v1/payments/payment HTTP/1.1\r\nX-Paypal-Sandbox-Email-Address: Platform.sdk.seller@gmail.com\r\nAuthorization: Bearer A015HHkSlZUmJlc4CzvCpL5xjeqPY-KteqkQLrnWoUy7AaY\r\nContent-Type: application/json\r\nUser-Agent: PayPalSDK/PayPal-Ruby-SDK 1.2.2 (paypal-sdk-core 1.2.2; ruby 2.1.2p95-x86_64-darwin13.0)\r\nPaypal-Request-Id: de1e1d88-0425-4dbc-b3e9-3784d5e7f279\r\nAccept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3\r\nAccept: */*\r\nHost: api.sandbox.paypal.com\r\nContent-Length: 473\r\n\r\n"
|
28
|
-
<- "{\"intent\":\"sale\",\"payer\":{\"payment_method\":\"credit_card\",\"funding_instruments\":[{\"credit_card\":{\"number\":\"4417119669820331\",\"type\":\"visa\",\"expire_month\":11,\"expire_year\":2018,\"cvv2\":\"874\",\"first_name\":\"Joe\",\"last_name\":\"Shopper\",\"billing_address\":{\"line1\":\"52 N Main ST\",\"city\":\"Johnstown\",\"country_code\":\"US\",\"postal_code\":\"43210\",\"state\":\"OH\"}}}]},\"transactions\":[{\"amount\":{\"currency\":\"USD\",\"total\":\"1.00\"},\"description\":\"This is the payment transaction description.\"}]}"
|
29
|
-
-> "HTTP/1.1 503 Service Unavailable\r\n"
|
30
|
-
-> "Date: Wed, 17 Jun 2015 20:09:41 GMT\r\n"
|
31
|
-
-> "Server: Apache\r\n"
|
32
|
-
-> "PROXY_SERVER_INFO: host=slcsbplatformapiserv3002.slc.paypal.com;threadId=1343\r\n"
|
33
|
-
-> "Paypal-Debug-Id: bfefcb49c5fc9\r\n"
|
34
|
-
-> "Connection: close\r\n"
|
35
|
-
-> "Content-Length: 145\r\n"
|
36
|
-
-> "Set-Cookie: X-PP-SILOVER=name%3DSANDBOX3.API.1%26silo_version%3D880%26app%3Dplatformapiserv%26TIME%3D97812821; domain=.paypal.com; path=/; Secure; HttpOnly\r\n"
|
37
|
-
-> "Set-Cookie: X-PP-SILOVER=; Expires=Thu, 01 Jan 1970 00:00:01 GMT\r\n"
|
38
|
-
-> "Vary: Authorization\r\n"
|
39
|
-
-> "Content-Type: application/json\r\n"
|
40
|
-
-> "\r\n"
|
41
|
-
reading 145 bytes...
|
42
|
-
-> "{\"name\":\"INTERNAL_SERVICE_ERROR\",\"information_link\":\"https://api.sandbox.paypal.com/docs/api/#INTERNAL_SERVICE_ERROR\",\"debug_id\":\"bfefcb49c5fc9\"}"
|
43
|
-
read 145 bytes
|
44
|
-
Conn close
|
45
|
-
opening connection to api.sandbox.paypal.com:443...
|
46
|
-
opened
|
47
|
-
starting SSL for api.sandbox.paypal.com:443...
|
48
|
-
SSL established
|
49
|
-
<- "GET /v1/payments/payment?count=5 HTTP/1.1\r\nX-Paypal-Sandbox-Email-Address: Platform.sdk.seller@gmail.com\r\nAuthorization: Bearer A015HHkSlZUmJlc4CzvCpL5xjeqPY-KteqkQLrnWoUy7AaY\r\nContent-Type: application/json\r\nUser-Agent: PayPalSDK/PayPal-Ruby-SDK 1.2.2 (paypal-sdk-core 1.2.2; ruby 2.1.2p95-x86_64-darwin13.0)\r\nAccept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3\r\nAccept: */*\r\nHost: api.sandbox.paypal.com\r\n\r\n"
|
50
|
-
-> "HTTP/1.1 200 OK\r\n"
|
51
|
-
-> "Date: Wed, 17 Jun 2015 20:11:17 GMT\r\n"
|
52
|
-
-> "Server: Apache\r\n"
|
53
|
-
-> "PROXY_SERVER_INFO: host=slcsbplatformapiserv3002.slc.paypal.com;threadId=143924\r\n"
|
54
|
-
-> "Paypal-Debug-Id: 8d142c0adc73a\r\n"
|
55
|
-
-> "Content-Language: *\r\n"
|
56
|
-
-> "Content-Length: 7531\r\n"
|
57
|
-
-> "Set-Cookie: X-PP-SILOVER=name%3DSANDBOX3.API.1%26silo_version%3D880%26app%3Dplatformapiserv%26TIME%3D1708425557; domain=.paypal.com; path=/; Secure; HttpOnly\r\n"
|
58
|
-
-> "Set-Cookie: X-PP-SILOVER=; Expires=Thu, 01 Jan 1970 00:00:01 GMT\r\n"
|
59
|
-
-> "Vary: Authorization\r\n"
|
60
|
-
-> "Connection: close\r\n"
|
61
|
-
-> "Content-Type: application/json\r\n"
|
62
|
-
-> "\r\n"
|
63
|
-
reading 7531 bytes...
|
64
|
-
-> "{\"payments\":[{\"id\":\"PAY-1L064882YM848125EKWA2KNY\",\"create_time\":\"2015-06-17T16:49:59Z\",\"update_time\":\"2015-06-17T16:50:01Z\",\"state\":\"approved\",\"intent\":\"sale\",\"payer\":{\"payment_method\":\"credit_card\",\"funding_instruments\":[{\"credit_card\":{\"type\":\"visa\",\"number\":\"xxxxxxxxxxxx2259\",\"expire_month\":\"11\",\"expire_year\":\"2019\",\"first_name\":\"Joe\",\"last_name\":\"Shopper\"}}]},\"transactions\":[{\"amount\":{\"total\":\"20.00\",\"currency\":\"USD\",\"details\":{\"subtotal\":\"17.50\",\"tax\":\"1.30\",\"shipping\":\"1.20\"}},\"description\":\"Payment description\",\"invoice_number\":\"5581a536538b2\",\"item_list\":{\"items\":[{\"name\":\"Ground Coffee 40 oz\",\"price\":\"7.50\",\"currency\":\"USD\",\"quantity\":\"1\",\"description\":\"Ground Coffee 40 oz\",\"tax\":\"0.30\"},{\"name\":\"Granola bars\",\"price\":\"2.00\",\"currency\":\"USD\",\"quantity\":\"5\",\"description\":\"Granola Bars with Peanuts\",\"tax\":\"0.20\"}]},\"related_resources\":[{\"sale\":{\"id\":\"84X3439975017913M\",\"create_time\":\"2015-06-17T16:49:59Z\",\"update_time\":\"2015-06-17T16:50:01Z\",\"amount\":{\"total\":\"20.00\",\"currency\":\"USD\"},\"state\":\"completed\",\"parent_payment\":\"PAY-1L064882YM848125EKWA2KNY\",\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/payments/sale/84X3439975017913M\",\"rel\":\"self\",\"method\":\"GET\"},{\"href\":\"https://api.sandbox.paypal.com/v1/payments/sale/84X3439975017913M/refund\",\"rel\":\"refund\",\"method\":\"POST\"},{\"href\":\"https://api.sandbox.paypal.com/v1/payments/payment/PAY-1L064882YM848125EKWA2KNY\",\"rel\":\"parent_payment\",\"method\":\"GET\"}]}}]}],\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/payments/payment/PAY-1L064882YM848125EKWA2KNY\",\"rel\":\"self\",\"method\":\"GET\"}]},{\"id\":\"PAY-5P879024BL580121AKWA2KLY\",\"create_time\":\"2015-06-17T16:49:51Z\",\"update_time\":\"2015-06-17T16:49:52Z\",\"state\":\"approved\",\"intent\":\"sale\",\"payer\":{\"payment_method\":\"credit_card\",\"funding_instruments\":[{\"credit_card\":{\"type\":\"visa\",\"number\":\"xxxxxxxxxxxx2259\",\"expire_month\":\"11\",\"expire_year\":\"2019\",\"first_name\":\"Joe\",\"last_name\":\"Shopper\"}}]},\"transactions\":[{\"amount\":{\"total\":\"20.00\",\"currency\":\"USD\",\"details\":{\"subtotal\":\"17.50\",\"tax\":\"1.30\",\"shipping\":\"1.20\"}},\"description\":\"Payment description\",\"invoice_number\":\"5581a52e66f48\",\"item_list\":{\"items\":[{\"name\":\"Ground Coffee 40 oz\",\"price\":\"7.50\",\"currency\":\"USD\",\"quantity\":\"1\",\"description\":\"Ground Coffee 40 oz\",\"tax\":\"0.30\"},{\"name\":\"Granola bars\",\"price\":\"2.00\",\"currency\":\"USD\",\"quantity\":\"5\",\"description\":\"Granola Bars with Peanuts\",\"tax\":\"0.20\"}]},\"related_resources\":[{\"sale\":{\"id\":\"7139905619919533H\",\"create_time\":\"2015-06-17T16:49:51Z\",\"update_time\":\"2015-06-17T16:49:53Z\",\"amount\":{\"total\":\"20.00\",\"currency\":\"USD\"},\"state\":\"completed\",\"parent_payment\":\"PAY-5P879024BL580121AKWA2KLY\",\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/payments/sale/7139905619919533H\",\"rel\":\"self\",\"method\":\"GET\"},{\"href\":\"https://api.sandbox.paypal.com/v1/payments/sale/7139905619919533H/refund\",\"rel\":\"refund\",\"method\":\"POST\"},{\"href\":\"https://api.sandbox.paypal.com/v1/payments/payment/PAY-5P879024BL580121AKWA2KLY\",\"rel\":\"parent_payment\",\"method\":\"GET\"}]}}]}],\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/payments/payment/PAY-5P879024BL580121AKWA2KLY\",\"rel\":\"self\",\"method\":\"GET\"}]},{\"id\":\"PAY-71588288N5609270KKWA2KDQ\",\"create_time\":\"2015-06-17T16:49:18Z\",\"update_time\":\"2015-06-17T16:49:20Z\",\"state\":\"approved\",\"intent\":\"sale\",\"payer\":{\"payment_method\":\"credit_card\",\"funding_instruments\":[{\"credit_card\":{\"type\":\"visa\",\"number\":\"xxxxxxxxxxxx2259\",\"expire_month\":\"11\",\"expire_year\":\"2019\",\"first_name\":\"Joe\",\"last_name\":\"Shopper\"}}]},\"transactions\":[{\"amount\":{\"total\":\"20.00\",\"currency\":\"USD\",\"details\":{\"subtotal\":\"17.50\",\"tax\":\"1.30\",\"shipping\":\"1.20\"}},\"description\":\"Payment description\",\"invoice_number\":\"5581a50dc0772\",\"item_list\":{\"items\":[{\"name\":\"Ground Coffee 40 oz\",\"price\":\"7.50\",\"currency\":\"USD\",\"quantity\":\"1\",\"description\":\"Ground Coffee 40 oz\",\"tax\":\"0.30\"},{\"name\":\"Granola bars\",\"price\":\"2.00\",\"currency\":\"USD\",\"quantity\":\"5\",\"description\":\"Granola Bars with Peanuts\",\"tax\":\"0.20\"}]},\"related_resources\":[{\"sale\":{\"id\":\"11L23280EN666033H\",\"create_time\":\"2015-06-17T16:49:18Z\",\"update_time\":\"2015-06-17T16:49:20Z\",\"amount\":{\"total\":\"20.00\",\"currency\":\"USD\"},\"state\":\"completed\",\"parent_payment\":\"PAY-71588288N5609270KKWA2KDQ\",\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/payments/sale/11L23280EN666033H\",\"rel\":\"self\",\"method\":\"GET\"},{\"href\":\"https://api.sandbox.paypal.com/v1/payments/sale/11L23280EN666033H/refund\",\"rel\":\"refund\",\"method\":\"POST\"},{\"href\":\"https://api.sandbox.paypal.com/v1/payments/payment/PAY-71588288N5609270KKWA2KDQ\",\"rel\":\"parent_payment\",\"method\":\"GET\"}]}}]}],\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/payments/payment/PAY-71588288N5609270KKWA2KDQ\",\"rel\":\"self\",\"method\":\"GET\"}]},{\"id\":\"PAY-5JV234464B4587748KWA2KCY\",\"create_time\":\"2015-06-17T16:49:15Z\",\"update_time\":\"2015-06-17T16:49:19Z\",\"state\":\"approved\",\"intent\":\"sale\",\"payer\":{\"payment_method\":\"credit_card\",\"funding_instruments\":[{\"credit_card\":{\"type\":\"visa\",\"number\":\"xxxxxxxxxxxx7004\",\"expire_month\":\"11\",\"expire_year\":\"2018\",\"first_name\":\"Joe\",\"last_name\":\"Shopper\"}}]},\"transactions\":[{\"amount\":{\"total\":\"12.00\",\"currency\":\"USD\",\"details\":{\"subtotal\":\"12.00\"}},\"description\":\"creating a payment with saved credit card\",\"related_resources\":[{\"sale\":{\"id\":\"0BM42811PC1943402\",\"create_time\":\"2015-06-17T16:49:15Z\",\"update_time\":\"2015-06-17T16:49:19Z\",\"amount\":{\"total\":\"12.00\",\"currency\":\"USD\"},\"state\":\"completed\",\"parent_payment\":\"PAY-5JV234464B4587748KWA2KCY\",\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/payments/sale/0BM42811PC1943402\",\"rel\":\"self\",\"method\":\"GET\"},{\"href\":\"https://api.sandbox.paypal.com/v1/payments/sale/0BM42811PC1943402/refund\",\"rel\":\"refund\",\"method\":\"POST\"},{\"href\":\"https://api.sandbox.paypal.com/v1/payments/payment/PAY-5JV234464B4587748KWA2KCY\",\"rel\":\"parent_payment\",\"method\":\"GET\"}]}}]}],\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/payments/payment/PAY-5JV234464B4587748KWA2KCY\",\"rel\":\"self\",\"method\":\"GET\"}]},{\"id\":\"PAY-8A782675LK9634848KWA2KAQ\",\"create_time\":\"2015-06-17T16:49:06Z\",\"update_time\":\"2015-06-17T16:49:08Z\",\"state\":\"approved\",\"intent\":\"sale\",\"payer\":{\"payment_method\":\"credit_card\",\"funding_instruments\":[{\"credit_card\":{\"type\":\"visa\",\"number\":\"xxxxxxxxxxxx2259\",\"expire_month\":\"11\",\"expire_year\":\"2019\",\"first_name\":\"Joe\",\"last_name\":\"Shopper\"}}]},\"transactions\":[{\"amount\":{\"total\":\"20.00\",\"currency\":\"USD\",\"details\":{\"subtotal\":\"17.50\",\"tax\":\"1.30\",\"shipping\":\"1.20\"}},\"description\":\"Payment description\",\"invoice_number\":\"5581a50190151\",\"item_list\":{\"items\":[{\"name\":\"Ground Coffee 40 oz\",\"price\":\"7.50\",\"currency\":\"USD\",\"quantity\":\"1\",\"description\":\"Ground Coffee 40 oz\",\"tax\":\"0.30\"},{\"name\":\"Granola bars\",\"price\":\"2.00\",\"currency\":\"USD\",\"quantity\":\"5\",\"description\":\"Granola Bars with Peanuts\",\"tax\":\"0.20\"}]},\"related_resources\":[{\"sale\":{\"id\":\"26C6249590321562V\",\"create_time\":\"2015-06-17T16:49:06Z\",\"update_time\":\"2015-06-17T16:49:08Z\",\"amount\":{\"total\":\"20.00\",\"currency\":\"USD\"},\"state\":\"completed\",\"parent_payment\":\"PAY-8A782675LK9634848KWA2KAQ\",\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/payments/sale/26C6249590321562V\",\"rel\":\"self\",\"method\":\"GET\"},{\"href\":\"https://api.sandbox.paypal.com/v1/payments/sale/26C6249590321562V/refund\",\"rel\":\"refund\",\"method\":\"POST\"},{\"href\":\"https://api.sandbox.paypal.com/v1/payments/payment/PAY-8A782675LK9634848KWA2KAQ\",\"rel\":\"parent_payment\",\"method\":\"GET\"}]}}]}],\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/payments/payment/PAY-8A782675LK9634848KWA2KAQ\",\"rel\":\"self\",\"method\":\"GET\"}]}],\"count\":5,\"next_id\":\"PAY-9CN47781W2102693AKWA2J2Y\"}"
|
65
|
-
read 7531 bytes
|
66
|
-
Conn close
|
67
|
-
opening connection to api.sandbox.paypal.com:443...
|
68
|
-
opened
|
69
|
-
starting SSL for api.sandbox.paypal.com:443...
|
70
|
-
SSL established
|
71
|
-
<- "GET /v1/payments/payment?count=1 HTTP/1.1\r\nX-Paypal-Sandbox-Email-Address: Platform.sdk.seller@gmail.com\r\nAuthorization: Bearer A015HHkSlZUmJlc4CzvCpL5xjeqPY-KteqkQLrnWoUy7AaY\r\nContent-Type: application/json\r\nUser-Agent: PayPalSDK/PayPal-Ruby-SDK 1.2.2 (paypal-sdk-core 1.2.2; ruby 2.1.2p95-x86_64-darwin13.0)\r\nAccept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3\r\nAccept: */*\r\nHost: api.sandbox.paypal.com\r\n\r\n"
|
72
|
-
-> "HTTP/1.1 200 OK\r\n"
|
73
|
-
-> "Date: Wed, 17 Jun 2015 20:11:22 GMT\r\n"
|
5
|
+
<- "POST /v1/notifications/webhooks HTTP/1.1\r\nX-Paypal-Sandbox-Email-Address: Platform.sdk.seller@gmail.com\r\nAuthorization: Bearer A015utd2WErH9umRC.Jj7PryFIBwmu-2qGw7Evx6gx6P8t0\r\nContent-Type: application/json\r\nUser-Agent: PayPalSDK/PayPal-Ruby-SDK 1.3.0 (paypal-sdk-core 1.3.0; ruby 2.1.2p95-x86_64-darwin13.0)\r\nPaypal-Request-Id: 18a117b6-aa14-4705-bf80-d9fe6552a133\r\nAccept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3\r\nAccept: */*\r\nHost: api.sandbox.paypal.com\r\nContent-Length: 161\r\n\r\n"
|
6
|
+
<- "{\"url\":\"https://www.yeowza.com/paypal_webhook_f8c3f96af18fb8b7\",\"event_types\":[{\"name\":\"PAYMENT.AUTHORIZATION.CREATED\"},{\"name\":\"PAYMENT.AUTHORIZATION.VOIDED\"}]}"
|
7
|
+
-> "HTTP/1.1 201 Created\r\n"
|
8
|
+
-> "Date: Mon, 29 Jun 2015 00:16:47 GMT\r\n"
|
74
9
|
-> "Server: Apache\r\n"
|
75
|
-
-> "PROXY_SERVER_INFO: host=
|
76
|
-
-> "Paypal-Debug-Id:
|
10
|
+
-> "PROXY_SERVER_INFO: host=slcsbplatformapiserv3002.slc.paypal.com;threadId=199\r\n"
|
11
|
+
-> "Paypal-Debug-Id: ca3b32418d9db\r\n"
|
77
12
|
-> "Content-Language: *\r\n"
|
78
|
-
-> "Content-Length:
|
79
|
-
-> "Set-Cookie: X-PP-SILOVER=name%3DSANDBOX3.API.1%26silo_version%3D880%26app%3Dplatformapiserv%26TIME%
|
13
|
+
-> "Content-Length: 650\r\n"
|
14
|
+
-> "Set-Cookie: X-PP-SILOVER=name%3DSANDBOX3.API.1%26silo_version%3D880%26app%3Dplatformapiserv%26TIME%3D1871614037; domain=.paypal.com; path=/; Secure; HttpOnly\r\n"
|
80
15
|
-> "Set-Cookie: X-PP-SILOVER=; Expires=Thu, 01 Jan 1970 00:00:01 GMT\r\n"
|
81
16
|
-> "Vary: Authorization\r\n"
|
82
17
|
-> "Connection: close\r\n"
|
83
18
|
-> "Content-Type: application/json\r\n"
|
84
19
|
-> "\r\n"
|
85
|
-
reading
|
86
|
-
-> "{\"
|
87
|
-
read
|
20
|
+
reading 650 bytes...
|
21
|
+
-> "{\"id\":\"50T98599JH617711K\",\"url\":\"https://www.yeowza.com/paypal_webhook_f8c3f96af18fb8b7\",\"event_types\":[{\"name\":\"PAYMENT.AUTHORIZATION.CREATED\",\"description\":\"A payment authorization was created\"},{\"name\":\"PAYMENT.AUTHORIZATION.VOIDED\",\"description\":\"A payment authorization was voided\"}],\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/notifications/webhooks/50T98599JH617711K\",\"rel\":\"self\",\"method\":\"GET\"},{\"href\":\"https://api.sandbox.paypal.com/v1/notifications/webhooks/50T98599JH617711K\",\"rel\":\"update\",\"method\":\"PATCH\"},{\"href\":\"https://api.sandbox.paypal.com/v1/notifications/webhooks/50T98599JH617711K\",\"rel\":\"delete\",\"method\":\"DELETE\"}]}"
|
22
|
+
read 650 bytes
|
88
23
|
Conn close
|
89
24
|
opening connection to api.sandbox.paypal.com:443...
|
90
25
|
opened
|
91
26
|
starting SSL for api.sandbox.paypal.com:443...
|
92
27
|
SSL established
|
93
|
-
<- "GET /v1/
|
28
|
+
<- "GET /v1/notifications/webhooks/50T98599JH617711K HTTP/1.1\r\nX-Paypal-Sandbox-Email-Address: Platform.sdk.seller@gmail.com\r\nAuthorization: Bearer A015utd2WErH9umRC.Jj7PryFIBwmu-2qGw7Evx6gx6P8t0\r\nContent-Type: application/json\r\nUser-Agent: PayPalSDK/PayPal-Ruby-SDK 1.3.0 (paypal-sdk-core 1.3.0; ruby 2.1.2p95-x86_64-darwin13.0)\r\nAccept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3\r\nAccept: */*\r\nHost: api.sandbox.paypal.com\r\n\r\n"
|
94
29
|
-> "HTTP/1.1 200 OK\r\n"
|
95
|
-
-> "Date:
|
96
|
-
-> "Server: Apache\r\n"
|
97
|
-
-> "PROXY_SERVER_INFO: host=slcsbplatformapiserv3002.slc.paypal.com;threadId=45759\r\n"
|
98
|
-
-> "Paypal-Debug-Id: 4ed852f5da53f\r\n"
|
99
|
-
-> "Content-Language: *\r\n"
|
100
|
-
-> "Content-Length: 1556\r\n"
|
101
|
-
-> "Set-Cookie: X-PP-SILOVER=name%3DSANDBOX3.API.1%26silo_version%3D880%26app%3Dplatformapiserv%26TIME%3D1859420501; domain=.paypal.com; path=/; Secure; HttpOnly\r\n"
|
102
|
-
-> "Set-Cookie: X-PP-SILOVER=; Expires=Thu, 01 Jan 1970 00:00:01 GMT\r\n"
|
103
|
-
-> "Vary: Authorization\r\n"
|
104
|
-
-> "Connection: close\r\n"
|
105
|
-
-> "Content-Type: application/json\r\n"
|
106
|
-
-> "\r\n"
|
107
|
-
reading 1556 bytes...
|
108
|
-
-> "{\"id\":\"PAY-1L064882YM848125EKWA2KNY\",\"create_time\":\"2015-06-17T16:49:59Z\",\"update_time\":\"2015-06-17T16:50:01Z\",\"state\":\"approved\",\"intent\":\"sale\",\"payer\":{\"payment_method\":\"credit_card\",\"funding_instruments\":[{\"credit_card\":{\"type\":\"visa\",\"number\":\"xxxxxxxxxxxx2259\",\"expire_month\":\"11\",\"expire_year\":\"2019\",\"first_name\":\"Joe\",\"last_name\":\"Shopper\"}}]},\"transactions\":[{\"amount\":{\"total\":\"20.00\",\"currency\":\"USD\",\"details\":{\"subtotal\":\"17.50\",\"tax\":\"1.30\",\"shipping\":\"1.20\"}},\"description\":\"Payment description\",\"invoice_number\":\"5581a536538b2\",\"item_list\":{\"items\":[{\"name\":\"Ground Coffee 40 oz\",\"price\":\"7.50\",\"currency\":\"USD\",\"quantity\":\"1\",\"description\":\"Ground Coffee 40 oz\",\"tax\":\"0.30\"},{\"name\":\"Granola bars\",\"price\":\"2.00\",\"currency\":\"USD\",\"quantity\":\"5\",\"description\":\"Granola Bars with Peanuts\",\"tax\":\"0.20\"}]},\"related_resources\":[{\"sale\":{\"id\":\"84X3439975017913M\",\"create_time\":\"2015-06-17T16:49:59Z\",\"update_time\":\"2015-06-17T16:50:01Z\",\"amount\":{\"total\":\"20.00\",\"currency\":\"USD\"},\"state\":\"completed\",\"parent_payment\":\"PAY-1L064882YM848125EKWA2KNY\",\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/payments/sale/84X3439975017913M\",\"rel\":\"self\",\"method\":\"GET\"},{\"href\":\"https://api.sandbox.paypal.com/v1/payments/sale/84X3439975017913M/refund\",\"rel\":\"refund\",\"method\":\"POST\"},{\"href\":\"https://api.sandbox.paypal.com/v1/payments/payment/PAY-1L064882YM848125EKWA2KNY\",\"rel\":\"parent_payment\",\"method\":\"GET\"}]}}]}],\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/payments/payment/PAY-1L064882YM848125EKWA2KNY\",\"rel\":\"self\",\"method\":\"GET\"}]}"
|
109
|
-
read 1556 bytes
|
110
|
-
Conn close
|
111
|
-
opening connection to api.sandbox.paypal.com:443...
|
112
|
-
opened
|
113
|
-
starting SSL for api.sandbox.paypal.com:443...
|
114
|
-
SSL established
|
115
|
-
<- "POST /v1/payments/payment HTTP/1.1\r\nX-Paypal-Sandbox-Email-Address: Platform.sdk.seller@gmail.com\r\nAuthorization: Bearer A015HHkSlZUmJlc4CzvCpL5xjeqPY-KteqkQLrnWoUy7AaY\r\nContent-Type: application/json\r\nUser-Agent: PayPalSDK/PayPal-Ruby-SDK 1.2.2 (paypal-sdk-core 1.2.2; ruby 2.1.2p95-x86_64-darwin13.0)\r\nPaypal-Request-Id: de7dec6c-fd77-459d-9a23-c412f995adc2\r\nAccept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3\r\nAccept: */*\r\nHost: api.sandbox.paypal.com\r\nContent-Length: 2\r\n\r\n"
|
116
|
-
<- "{}"
|
117
|
-
-> "HTTP/1.1 400 Bad Request\r\n"
|
118
|
-
-> "Date: Wed, 17 Jun 2015 20:11:27 GMT\r\n"
|
119
|
-
-> "Server: Apache\r\n"
|
120
|
-
-> "PROXY_SERVER_INFO: host=slcsbplatformapiserv3002.slc.paypal.com;threadId=204826\r\n"
|
121
|
-
-> "Paypal-Debug-Id: fffd0333dbfd5\r\n"
|
122
|
-
-> "Content-Language: *\r\n"
|
123
|
-
-> "Connection: close\r\n"
|
124
|
-
-> "Connection: close\r\n"
|
125
|
-
-> "Content-Length: 306\r\n"
|
126
|
-
-> "Set-Cookie: X-PP-SILOVER=name%3DSANDBOX3.API.1%26silo_version%3D880%26app%3Dplatformapiserv%26TIME%3D1876197717; domain=.paypal.com; path=/; Secure; HttpOnly\r\n"
|
127
|
-
-> "Set-Cookie: X-PP-SILOVER=; Expires=Thu, 01 Jan 1970 00:00:01 GMT\r\n"
|
128
|
-
-> "Vary: Authorization\r\n"
|
129
|
-
-> "Content-Type: application/json\r\n"
|
130
|
-
-> "\r\n"
|
131
|
-
reading 306 bytes...
|
132
|
-
-> "{\"name\":\"VALIDATION_ERROR\",\"details\":[{\"field\":\"intent\",\"issue\":\"Required field missing\"},{\"field\":\"payer\",\"issue\":\"Required field missing\"}],\"message\":\"Invalid request - see details\",\"information_link\":\"https://developer.paypal.com/webapps/developer/docs/api/#VALIDATION_ERROR\",\"debug_id\":\"fffd0333dbfd5\"}"
|
133
|
-
read 306 bytes
|
134
|
-
Conn close
|
135
|
-
opening connection to api.sandbox.paypal.com:443...
|
136
|
-
opened
|
137
|
-
starting SSL for api.sandbox.paypal.com:443...
|
138
|
-
SSL established
|
139
|
-
<- "GET /v1/payments/payment/Invalid HTTP/1.1\r\nX-Paypal-Sandbox-Email-Address: Platform.sdk.seller@gmail.com\r\nAuthorization: Bearer A015HHkSlZUmJlc4CzvCpL5xjeqPY-KteqkQLrnWoUy7AaY\r\nContent-Type: application/json\r\nUser-Agent: PayPalSDK/PayPal-Ruby-SDK 1.2.2 (paypal-sdk-core 1.2.2; ruby 2.1.2p95-x86_64-darwin13.0)\r\nAccept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3\r\nAccept: */*\r\nHost: api.sandbox.paypal.com\r\n\r\n"
|
140
|
-
-> "HTTP/1.1 404 Not Found\r\n"
|
141
|
-
-> "Date: Wed, 17 Jun 2015 20:11:29 GMT\r\n"
|
30
|
+
-> "Date: Mon, 29 Jun 2015 00:16:47 GMT\r\n"
|
142
31
|
-> "Server: Apache\r\n"
|
143
|
-
-> "PROXY_SERVER_INFO: host=
|
144
|
-
-> "Paypal-Debug-Id:
|
32
|
+
-> "PROXY_SERVER_INFO: host=slcsbplatformapiserv3001.slc.paypal.com;threadId=528494\r\n"
|
33
|
+
-> "Paypal-Debug-Id: 655c05e28d8fa\r\n"
|
145
34
|
-> "Content-Language: *\r\n"
|
146
|
-
-> "Content-Length:
|
147
|
-
-> "Set-Cookie: X-PP-SILOVER=name%3DSANDBOX3.API.1%26silo_version%3D880%26app%3Dplatformapiserv%26TIME%
|
148
|
-
-> "Set-Cookie: X-PP-SILOVER=; Expires=Thu, 01 Jan 1970 00:00:01 GMT\r\n"
|
149
|
-
-> "Vary: Authorization\r\n"
|
150
|
-
-> "Connection: close\r\n"
|
151
|
-
-> "Content-Type: application/json\r\n"
|
152
|
-
-> "\r\n"
|
153
|
-
reading 207 bytes...
|
154
|
-
-> "{\"name\":\"INVALID_RESOURCE_ID\",\"message\":\"The requested resource ID was not found\",\"information_link\":\"https://developer.paypal.com/webapps/developer/docs/api/#INVALID_RESOURCE_ID\",\"debug_id\":\"02b24159db056\"}"
|
155
|
-
read 207 bytes
|
156
|
-
Conn close
|
157
|
-
opening connection to api.sandbox.paypal.com:443...
|
158
|
-
opened
|
159
|
-
starting SSL for api.sandbox.paypal.com:443...
|
160
|
-
SSL established
|
161
|
-
<- "GET /v1/payments/payment?count=1 HTTP/1.1\r\nX-Paypal-Sandbox-Email-Address: Platform.sdk.seller@gmail.com\r\nAuthorization: Bearer ExpiredA015HHkSlZUmJlc4CzvCpL5xjeqPY-KteqkQLrnWoUy7AaY\r\nContent-Type: application/json\r\nUser-Agent: PayPalSDK/PayPal-Ruby-SDK 1.2.2 (paypal-sdk-core 1.2.2; ruby 2.1.2p95-x86_64-darwin13.0)\r\nAccept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3\r\nAccept: */*\r\nHost: api.sandbox.paypal.com\r\n\r\n"
|
162
|
-
-> "HTTP/1.1 401 Unauthorized\r\n"
|
163
|
-
-> "Date: Wed, 17 Jun 2015 20:11:30 GMT\r\n"
|
164
|
-
-> "Server: Apache\r\n"
|
165
|
-
-> "PROXY_SERVER_INFO: host=slcsbplatformapiserv3002.slc.paypal.com;threadId=27110\r\n"
|
166
|
-
-> "Paypal-Debug-Id: 653102f2db7ab\r\n"
|
167
|
-
-> "Content-Length: 0\r\n"
|
168
|
-
-> "Set-Cookie: X-PP-SILOVER=name%3DSANDBOX3.API.1%26silo_version%3D880%26app%3Dplatformapiserv%26TIME%3D1926529365; domain=.paypal.com; path=/; Secure; HttpOnly\r\n"
|
35
|
+
-> "Content-Length: 650\r\n"
|
36
|
+
-> "Set-Cookie: X-PP-SILOVER=name%3DSANDBOX3.API.1%26silo_version%3D880%26app%3Dplatformapiserv%26TIME%3D1871614037; domain=.paypal.com; path=/; Secure; HttpOnly\r\n"
|
169
37
|
-> "Set-Cookie: X-PP-SILOVER=; Expires=Thu, 01 Jan 1970 00:00:01 GMT\r\n"
|
170
38
|
-> "Vary: Authorization\r\n"
|
171
39
|
-> "Connection: close\r\n"
|
172
40
|
-> "Content-Type: application/json\r\n"
|
173
41
|
-> "\r\n"
|
174
|
-
reading
|
175
|
-
-> ""
|
176
|
-
read
|
42
|
+
reading 650 bytes...
|
43
|
+
-> "{\"id\":\"50T98599JH617711K\",\"url\":\"https://www.yeowza.com/paypal_webhook_f8c3f96af18fb8b7\",\"event_types\":[{\"name\":\"PAYMENT.AUTHORIZATION.CREATED\",\"description\":\"A payment authorization was created\"},{\"name\":\"PAYMENT.AUTHORIZATION.VOIDED\",\"description\":\"A payment authorization was voided\"}],\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/notifications/webhooks/50T98599JH617711K\",\"rel\":\"self\",\"method\":\"GET\"},{\"href\":\"https://api.sandbox.paypal.com/v1/notifications/webhooks/50T98599JH617711K\",\"rel\":\"update\",\"method\":\"PATCH\"},{\"href\":\"https://api.sandbox.paypal.com/v1/notifications/webhooks/50T98599JH617711K\",\"rel\":\"delete\",\"method\":\"DELETE\"}]}"
|
44
|
+
read 650 bytes
|
177
45
|
Conn close
|
178
46
|
opening connection to api.sandbox.paypal.com:443...
|
179
47
|
opened
|
180
48
|
starting SSL for api.sandbox.paypal.com:443...
|
181
49
|
SSL established
|
182
|
-
<- "GET /v1/
|
50
|
+
<- "GET /v1/notifications/webhooks HTTP/1.1\r\nX-Paypal-Sandbox-Email-Address: Platform.sdk.seller@gmail.com\r\nAuthorization: Bearer A015utd2WErH9umRC.Jj7PryFIBwmu-2qGw7Evx6gx6P8t0\r\nContent-Type: application/json\r\nUser-Agent: PayPalSDK/PayPal-Ruby-SDK 1.3.0 (paypal-sdk-core 1.3.0; ruby 2.1.2p95-x86_64-darwin13.0)\r\nAccept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3\r\nAccept: */*\r\nHost: api.sandbox.paypal.com\r\n\r\n"
|
183
51
|
-> "HTTP/1.1 200 OK\r\n"
|
184
|
-
-> "Date:
|
52
|
+
-> "Date: Mon, 29 Jun 2015 00:16:48 GMT\r\n"
|
185
53
|
-> "Server: Apache\r\n"
|
186
|
-
-> "PROXY_SERVER_INFO: host=slcsbplatformapiserv3001.slc.paypal.com;threadId=
|
187
|
-
-> "Paypal-Debug-Id:
|
54
|
+
-> "PROXY_SERVER_INFO: host=slcsbplatformapiserv3001.slc.paypal.com;threadId=600\r\n"
|
55
|
+
-> "Paypal-Debug-Id: 666c52848db49\r\n"
|
188
56
|
-> "Content-Language: *\r\n"
|
189
|
-
-> "Content-Length:
|
190
|
-
-> "Set-Cookie: X-PP-SILOVER=name%3DSANDBOX3.API.1%26silo_version%3D880%26app%3Dplatformapiserv%26TIME%
|
57
|
+
-> "Content-Length: 1311\r\n"
|
58
|
+
-> "Set-Cookie: X-PP-SILOVER=name%3DSANDBOX3.API.1%26silo_version%3D880%26app%3Dplatformapiserv%26TIME%3D1888391253; domain=.paypal.com; path=/; Secure; HttpOnly\r\n"
|
191
59
|
-> "Set-Cookie: X-PP-SILOVER=; Expires=Thu, 01 Jan 1970 00:00:01 GMT\r\n"
|
192
60
|
-> "Vary: Authorization\r\n"
|
193
61
|
-> "Connection: close\r\n"
|
194
62
|
-> "Content-Type: application/json\r\n"
|
195
63
|
-> "\r\n"
|
196
|
-
reading
|
197
|
-
-> "{\"
|
198
|
-
read
|
64
|
+
reading 1311 bytes...
|
65
|
+
-> "{\"webhooks\":[{\"id\":\"8VM94926UH399150D\",\"url\":\"https://requestb.in/10ujt3c1?uniqid=558f54001056e\",\"event_types\":[{\"name\":\"PAYMENT.AUTHORIZATION.CREATED\",\"description\":\"A payment authorization was created\"},{\"name\":\"PAYMENT.AUTHORIZATION.VOIDED\",\"description\":\"A payment authorization was voided\"}],\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/notifications/webhooks/8VM94926UH399150D\",\"rel\":\"self\",\"method\":\"GET\"},{\"href\":\"https://api.sandbox.paypal.com/v1/notifications/webhooks/8VM94926UH399150D\",\"rel\":\"update\",\"method\":\"PATCH\"},{\"href\":\"https://api.sandbox.paypal.com/v1/notifications/webhooks/8VM94926UH399150D\",\"rel\":\"delete\",\"method\":\"DELETE\"}]},{\"id\":\"50T98599JH617711K\",\"url\":\"https://www.yeowza.com/paypal_webhook_f8c3f96af18fb8b7\",\"event_types\":[{\"name\":\"PAYMENT.AUTHORIZATION.CREATED\",\"description\":\"A payment authorization was created\"},{\"name\":\"PAYMENT.AUTHORIZATION.VOIDED\",\"description\":\"A payment authorization was voided\"}],\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/notifications/webhooks/50T98599JH617711K\",\"rel\":\"self\",\"method\":\"GET\"},{\"href\":\"https://api.sandbox.paypal.com/v1/notifications/webhooks/50T98599JH617711K\",\"rel\":\"update\",\"method\":\"PATCH\"},{\"href\":\"https://api.sandbox.paypal.com/v1/notifications/webhooks/50T98599JH617711K\",\"rel\":\"delete\",\"method\":\"DELETE\"}]}]}"
|
66
|
+
read 1311 bytes
|
199
67
|
Conn close
|
200
68
|
opening connection to api.sandbox.paypal.com:443...
|
201
69
|
opened
|
202
70
|
starting SSL for api.sandbox.paypal.com:443...
|
203
71
|
SSL established
|
204
|
-
<- "
|
205
|
-
<- "{\"intent\":\"sale\",\"payer\":{\"payment_method\":\"credit_card\",\"funding_instruments\":[{\"credit_card\":{\"number\":\"4417119669820331\",\"type\":\"visa\",\"expire_month\":11,\"expire_year\":2018,\"cvv2\":\"874\",\"first_name\":\"Joe\",\"last_name\":\"Shopper\",\"billing_address\":{\"line1\":\"52 N Main ST\",\"city\":\"Johnstown\",\"country_code\":\"US\",\"postal_code\":\"43210\",\"state\":\"OH\"}}}]},\"transactions\":[{\"amount\":{\"currency\":\"USD\",\"total\":\"1.00\"},\"description\":\"This is the payment transaction description.\"}]}"
|
206
|
-
-> "HTTP/1.1 503 Service Unavailable\r\n"
|
207
|
-
-> "Date: Wed, 17 Jun 2015 20:11:35 GMT\r\n"
|
208
|
-
-> "Server: Apache\r\n"
|
209
|
-
-> "PROXY_SERVER_INFO: host=slcsbplatformapiserv3001.slc.paypal.com;threadId=208333\r\n"
|
210
|
-
-> "Paypal-Debug-Id: 15de632ed9e0c\r\n"
|
211
|
-
-> "Connection: close\r\n"
|
212
|
-
-> "Content-Length: 145\r\n"
|
213
|
-
-> "Set-Cookie: X-PP-SILOVER=name%3DSANDBOX3.API.1%26silo_version%3D880%26app%3Dplatformapiserv%26TIME%3D2010415445; domain=.paypal.com; path=/; Secure; HttpOnly\r\n"
|
214
|
-
-> "Set-Cookie: X-PP-SILOVER=; Expires=Thu, 01 Jan 1970 00:00:01 GMT\r\n"
|
215
|
-
-> "Vary: Authorization\r\n"
|
216
|
-
-> "Content-Type: application/json\r\n"
|
217
|
-
-> "\r\n"
|
218
|
-
reading 145 bytes...
|
219
|
-
-> "{\"name\":\"INTERNAL_SERVICE_ERROR\",\"information_link\":\"https://api.sandbox.paypal.com/docs/api/#INTERNAL_SERVICE_ERROR\",\"debug_id\":\"15de632ed9e0c\"}"
|
220
|
-
read 145 bytes
|
221
|
-
Conn close
|
222
|
-
opening connection to api.sandbox.paypal.com:443...
|
223
|
-
opened
|
224
|
-
starting SSL for api.sandbox.paypal.com:443...
|
225
|
-
SSL established
|
226
|
-
<- "POST /v1/payments/payment HTTP/1.1\r\nX-Paypal-Sandbox-Email-Address: Platform.sdk.seller@gmail.com\r\nAuthorization: Bearer A0152gtigi4qv0lFob0S8hbXow3DGalNrlwWUZm4eK5TZuY\r\nContent-Type: application/json\r\nUser-Agent: PayPalSDK/PayPal-Ruby-SDK 1.2.2 (paypal-sdk-core 1.2.2; ruby 2.1.2p95-x86_64-darwin13.0)\r\nPaypal-Request-Id: b403c5b5-0cb1-4249-8995-f293afcec1e7\r\nAccept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3\r\nAccept: */*\r\nHost: api.sandbox.paypal.com\r\nContent-Length: 473\r\n\r\n"
|
227
|
-
<- "{\"intent\":\"sale\",\"payer\":{\"payment_method\":\"credit_card\",\"funding_instruments\":[{\"credit_card\":{\"number\":\"4417119669820331\",\"type\":\"visa\",\"expire_month\":11,\"expire_year\":2018,\"cvv2\":\"874\",\"first_name\":\"Joe\",\"last_name\":\"Shopper\",\"billing_address\":{\"line1\":\"52 N Main ST\",\"city\":\"Johnstown\",\"country_code\":\"US\",\"postal_code\":\"43210\",\"state\":\"OH\"}}}]},\"transactions\":[{\"amount\":{\"currency\":\"USD\",\"total\":\"1.00\"},\"description\":\"This is the payment transaction description.\"}]}"
|
228
|
-
-> "HTTP/1.1 503 Service Unavailable\r\n"
|
229
|
-
-> "Date: Wed, 17 Jun 2015 20:12:06 GMT\r\n"
|
230
|
-
-> "Server: Apache\r\n"
|
231
|
-
-> "PROXY_SERVER_INFO: host=slcsbplatformapiserv3001.slc.paypal.com;threadId=207623\r\n"
|
232
|
-
-> "Paypal-Debug-Id: 1e0f54f2e075b\r\n"
|
233
|
-
-> "Connection: close\r\n"
|
234
|
-
-> "Content-Length: 145\r\n"
|
235
|
-
-> "Set-Cookie: X-PP-SILOVER=name%3DSANDBOX3.API.1%26silo_version%3D880%26app%3Dplatformapiserv%26TIME%3D2530509141; domain=.paypal.com; path=/; Secure; HttpOnly\r\n"
|
236
|
-
-> "Set-Cookie: X-PP-SILOVER=; Expires=Thu, 01 Jan 1970 00:00:01 GMT\r\n"
|
237
|
-
-> "Vary: Authorization\r\n"
|
238
|
-
-> "Content-Type: application/json\r\n"
|
239
|
-
-> "\r\n"
|
240
|
-
reading 145 bytes...
|
241
|
-
-> "{\"name\":\"INTERNAL_SERVICE_ERROR\",\"information_link\":\"https://api.sandbox.paypal.com/docs/api/#INTERNAL_SERVICE_ERROR\",\"debug_id\":\"1e0f54f2e075b\"}"
|
242
|
-
read 145 bytes
|
243
|
-
Conn close
|
244
|
-
opening connection to api.sandbox.paypal.com:443...
|
245
|
-
opened
|
246
|
-
starting SSL for api.sandbox.paypal.com:443...
|
247
|
-
SSL established
|
248
|
-
<- "GET /v1/payments/orders/O-2HT09787H36911800 HTTP/1.1\r\nX-Paypal-Sandbox-Email-Address: Platform.sdk.seller@gmail.com\r\nAuthorization: Bearer A0152gtigi4qv0lFob0S8hbXow3DGalNrlwWUZm4eK5TZuY\r\nContent-Type: application/json\r\nUser-Agent: PayPalSDK/PayPal-Ruby-SDK 1.2.2 (paypal-sdk-core 1.2.2; ruby 2.1.2p95-x86_64-darwin13.0)\r\nAccept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3\r\nAccept: */*\r\nHost: api.sandbox.paypal.com\r\n\r\n"
|
72
|
+
<- "GET /v1/notifications/webhooks/50T98599JH617711K/event-types HTTP/1.1\r\nX-Paypal-Sandbox-Email-Address: Platform.sdk.seller@gmail.com\r\nAuthorization: Bearer A015utd2WErH9umRC.Jj7PryFIBwmu-2qGw7Evx6gx6P8t0\r\nContent-Type: application/json\r\nUser-Agent: PayPalSDK/PayPal-Ruby-SDK 1.3.0 (paypal-sdk-core 1.3.0; ruby 2.1.2p95-x86_64-darwin13.0)\r\nAccept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3\r\nAccept: */*\r\nHost: api.sandbox.paypal.com\r\n\r\n"
|
249
73
|
-> "HTTP/1.1 200 OK\r\n"
|
250
|
-
-> "Date:
|
74
|
+
-> "Date: Mon, 29 Jun 2015 00:16:49 GMT\r\n"
|
251
75
|
-> "Server: Apache\r\n"
|
252
|
-
-> "PROXY_SERVER_INFO: host=slcsbplatformapiserv3001.slc.paypal.com;threadId=
|
253
|
-
-> "Paypal-Debug-Id:
|
76
|
+
-> "PROXY_SERVER_INFO: host=slcsbplatformapiserv3001.slc.paypal.com;threadId=526559\r\n"
|
77
|
+
-> "Paypal-Debug-Id: 748c1aeb8d5ba\r\n"
|
254
78
|
-> "Content-Language: *\r\n"
|
255
|
-
-> "Content-Length:
|
256
|
-
-> "Set-Cookie: X-PP-SILOVER=name%3DSANDBOX3.API.1%26silo_version%3D880%26app%3Dplatformapiserv%26TIME%
|
79
|
+
-> "Content-Length: 201\r\n"
|
80
|
+
-> "Set-Cookie: X-PP-SILOVER=name%3DSANDBOX3.API.1%26silo_version%3D880%26app%3Dplatformapiserv%26TIME%3D1905168469; domain=.paypal.com; path=/; Secure; HttpOnly\r\n"
|
257
81
|
-> "Set-Cookie: X-PP-SILOVER=; Expires=Thu, 01 Jan 1970 00:00:01 GMT\r\n"
|
258
82
|
-> "Vary: Authorization\r\n"
|
259
83
|
-> "Connection: close\r\n"
|
260
84
|
-> "Content-Type: application/json\r\n"
|
261
85
|
-> "\r\n"
|
262
|
-
reading
|
263
|
-
-> "{\"
|
264
|
-
read
|
86
|
+
reading 201 bytes...
|
87
|
+
-> "{\"event_types\":[{\"name\":\"PAYMENT.AUTHORIZATION.CREATED\",\"description\":\"A payment authorization was created\"},{\"name\":\"PAYMENT.AUTHORIZATION.VOIDED\",\"description\":\"A payment authorization was voided\"}]}"
|
88
|
+
read 201 bytes
|
265
89
|
Conn close
|
266
90
|
opening connection to api.sandbox.paypal.com:443...
|
267
91
|
opened
|
268
92
|
starting SSL for api.sandbox.paypal.com:443...
|
269
93
|
SSL established
|
270
|
-
<- "
|
271
|
-
<- "{\"intent\":\"authorize\",\"payer\":{\"payment_method\":\"credit_card\",\"funding_instruments\":[{\"credit_card\":{\"number\":\"4417119669820331\",\"type\":\"visa\",\"expire_month\":11,\"expire_year\":2018,\"cvv2\":\"874\",\"first_name\":\"Joe\",\"last_name\":\"Shopper\",\"billing_address\":{\"line1\":\"52 N Main ST\",\"city\":\"Johnstown\",\"country_code\":\"US\",\"postal_code\":\"43210\",\"state\":\"OH\"}}}]},\"transactions\":[{\"amount\":{\"currency\":\"USD\",\"total\":\"1.00\"},\"description\":\"This is the payment transaction description.\"}]}"
|
272
|
-
-> "HTTP/1.1 503 Service Unavailable\r\n"
|
273
|
-
-> "Date: Wed, 17 Jun 2015 20:12:37 GMT\r\n"
|
274
|
-
-> "Server: Apache\r\n"
|
275
|
-
-> "PROXY_SERVER_INFO: host=slcsbplatformapiserv3002.slc.paypal.com;threadId=29832\r\n"
|
276
|
-
-> "Paypal-Debug-Id: 30559063e8e98\r\n"
|
277
|
-
-> "Connection: close\r\n"
|
278
|
-
-> "Content-Length: 145\r\n"
|
279
|
-
-> "Set-Cookie: X-PP-SILOVER=name%3DSANDBOX3.API.1%26silo_version%3D880%26app%3Dplatformapiserv%26TIME%3D3050602837; domain=.paypal.com; path=/; Secure; HttpOnly\r\n"
|
280
|
-
-> "Set-Cookie: X-PP-SILOVER=; Expires=Thu, 01 Jan 1970 00:00:01 GMT\r\n"
|
281
|
-
-> "Vary: Authorization\r\n"
|
282
|
-
-> "Content-Type: application/json\r\n"
|
283
|
-
-> "\r\n"
|
284
|
-
reading 145 bytes...
|
285
|
-
-> "{\"name\":\"INTERNAL_SERVICE_ERROR\",\"information_link\":\"https://api.sandbox.paypal.com/docs/api/#INTERNAL_SERVICE_ERROR\",\"debug_id\":\"30559063e8e98\"}"
|
286
|
-
read 145 bytes
|
287
|
-
Conn close
|
288
|
-
opening connection to api.sandbox.paypal.com:443...
|
289
|
-
opened
|
290
|
-
starting SSL for api.sandbox.paypal.com:443...
|
291
|
-
SSL established
|
292
|
-
<- "POST /v1/payments/payment HTTP/1.1\r\nX-Paypal-Sandbox-Email-Address: Platform.sdk.seller@gmail.com\r\nAuthorization: Bearer A0152gtigi4qv0lFob0S8hbXow3DGalNrlwWUZm4eK5TZuY\r\nContent-Type: application/json\r\nUser-Agent: PayPalSDK/PayPal-Ruby-SDK 1.2.2 (paypal-sdk-core 1.2.2; ruby 2.1.2p95-x86_64-darwin13.0)\r\nPaypal-Request-Id: fbb23612-c816-466e-b2c0-a4f5743c90a0\r\nAccept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3\r\nAccept: */*\r\nHost: api.sandbox.paypal.com\r\nContent-Length: 478\r\n\r\n"
|
293
|
-
<- "{\"intent\":\"authorize\",\"payer\":{\"payment_method\":\"credit_card\",\"funding_instruments\":[{\"credit_card\":{\"number\":\"4417119669820331\",\"type\":\"visa\",\"expire_month\":11,\"expire_year\":2018,\"cvv2\":\"874\",\"first_name\":\"Joe\",\"last_name\":\"Shopper\",\"billing_address\":{\"line1\":\"52 N Main ST\",\"city\":\"Johnstown\",\"country_code\":\"US\",\"postal_code\":\"43210\",\"state\":\"OH\"}}}]},\"transactions\":[{\"amount\":{\"currency\":\"USD\",\"total\":\"1.00\"},\"description\":\"This is the payment transaction description.\"}]}"
|
294
|
-
-> "HTTP/1.1 503 Service Unavailable\r\n"
|
295
|
-
-> "Date: Wed, 17 Jun 2015 20:13:08 GMT\r\n"
|
296
|
-
-> "Server: Apache\r\n"
|
297
|
-
-> "PROXY_SERVER_INFO: host=slcsbplatformapiserv3001.slc.paypal.com;threadId=56508\r\n"
|
298
|
-
-> "Paypal-Debug-Id: aaf9158af337f\r\n"
|
299
|
-
-> "Connection: close\r\n"
|
300
|
-
-> "Content-Length: 145\r\n"
|
301
|
-
-> "Set-Cookie: X-PP-SILOVER=name%3DSANDBOX3.API.1%26silo_version%3D880%26app%3Dplatformapiserv%26TIME%3D3570696533; domain=.paypal.com; path=/; Secure; HttpOnly\r\n"
|
302
|
-
-> "Set-Cookie: X-PP-SILOVER=; Expires=Thu, 01 Jan 1970 00:00:01 GMT\r\n"
|
303
|
-
-> "Vary: Authorization\r\n"
|
304
|
-
-> "Content-Type: application/json\r\n"
|
305
|
-
-> "\r\n"
|
306
|
-
reading 145 bytes...
|
307
|
-
-> "{\"name\":\"INTERNAL_SERVICE_ERROR\",\"information_link\":\"https://api.sandbox.paypal.com/docs/api/#INTERNAL_SERVICE_ERROR\",\"debug_id\":\"aaf9158af337f\"}"
|
308
|
-
read 145 bytes
|
309
|
-
Conn close
|
310
|
-
opening connection to api.sandbox.paypal.com:443...
|
311
|
-
opened
|
312
|
-
starting SSL for api.sandbox.paypal.com:443...
|
313
|
-
SSL established
|
314
|
-
<- "POST /v1/payments/payment HTTP/1.1\r\nX-Paypal-Sandbox-Email-Address: Platform.sdk.seller@gmail.com\r\nAuthorization: Bearer A0152gtigi4qv0lFob0S8hbXow3DGalNrlwWUZm4eK5TZuY\r\nContent-Type: application/json\r\nUser-Agent: PayPalSDK/PayPal-Ruby-SDK 1.2.2 (paypal-sdk-core 1.2.2; ruby 2.1.2p95-x86_64-darwin13.0)\r\nPaypal-Request-Id: 18a4f81f-39ad-4134-88fa-a8b1f716b350\r\nAccept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3\r\nAccept: */*\r\nHost: api.sandbox.paypal.com\r\nContent-Length: 478\r\n\r\n"
|
315
|
-
<- "{\"intent\":\"authorize\",\"payer\":{\"payment_method\":\"credit_card\",\"funding_instruments\":[{\"credit_card\":{\"number\":\"4417119669820331\",\"type\":\"visa\",\"expire_month\":11,\"expire_year\":2018,\"cvv2\":\"874\",\"first_name\":\"Joe\",\"last_name\":\"Shopper\",\"billing_address\":{\"line1\":\"52 N Main ST\",\"city\":\"Johnstown\",\"country_code\":\"US\",\"postal_code\":\"43210\",\"state\":\"OH\"}}}]},\"transactions\":[{\"amount\":{\"currency\":\"USD\",\"total\":\"1.00\"},\"description\":\"This is the payment transaction description.\"}]}"
|
316
|
-
-> "HTTP/1.1 503 Service Unavailable\r\n"
|
317
|
-
-> "Date: Wed, 17 Jun 2015 20:13:39 GMT\r\n"
|
318
|
-
-> "Server: Apache\r\n"
|
319
|
-
-> "PROXY_SERVER_INFO: host=slcsbplatformapiserv3002.slc.paypal.com;threadId=205628\r\n"
|
320
|
-
-> "Paypal-Debug-Id: fde8c434fba7e\r\n"
|
321
|
-
-> "Connection: close\r\n"
|
322
|
-
-> "Content-Length: 145\r\n"
|
323
|
-
-> "Set-Cookie: X-PP-SILOVER=name%3DSANDBOX3.API.1%26silo_version%3D880%26app%3Dplatformapiserv%26TIME%3D4090790229; domain=.paypal.com; path=/; Secure; HttpOnly\r\n"
|
324
|
-
-> "Set-Cookie: X-PP-SILOVER=; Expires=Thu, 01 Jan 1970 00:00:01 GMT\r\n"
|
325
|
-
-> "Vary: Authorization\r\n"
|
326
|
-
-> "Content-Type: application/json\r\n"
|
327
|
-
-> "\r\n"
|
328
|
-
reading 145 bytes...
|
329
|
-
-> "{\"name\":\"INTERNAL_SERVICE_ERROR\",\"information_link\":\"https://api.sandbox.paypal.com/docs/api/#INTERNAL_SERVICE_ERROR\",\"debug_id\":\"fde8c434fba7e\"}"
|
330
|
-
read 145 bytes
|
331
|
-
Conn close
|
332
|
-
opening connection to api.sandbox.paypal.com:443...
|
333
|
-
opened
|
334
|
-
starting SSL for api.sandbox.paypal.com:443...
|
335
|
-
SSL established
|
336
|
-
<- "POST /v1/payments/payment HTTP/1.1\r\nX-Paypal-Sandbox-Email-Address: Platform.sdk.seller@gmail.com\r\nAuthorization: Bearer A0152gtigi4qv0lFob0S8hbXow3DGalNrlwWUZm4eK5TZuY\r\nContent-Type: application/json\r\nUser-Agent: PayPalSDK/PayPal-Ruby-SDK 1.2.2 (paypal-sdk-core 1.2.2; ruby 2.1.2p95-x86_64-darwin13.0)\r\nPaypal-Request-Id: 6afb668d-2740-44a9-9f0d-bba5b9dc9311\r\nAccept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3\r\nAccept: */*\r\nHost: api.sandbox.paypal.com\r\nContent-Length: 478\r\n\r\n"
|
337
|
-
<- "{\"intent\":\"authorize\",\"payer\":{\"payment_method\":\"credit_card\",\"funding_instruments\":[{\"credit_card\":{\"number\":\"4417119669820331\",\"type\":\"visa\",\"expire_month\":11,\"expire_year\":2018,\"cvv2\":\"874\",\"first_name\":\"Joe\",\"last_name\":\"Shopper\",\"billing_address\":{\"line1\":\"52 N Main ST\",\"city\":\"Johnstown\",\"country_code\":\"US\",\"postal_code\":\"43210\",\"state\":\"OH\"}}}]},\"transactions\":[{\"amount\":{\"currency\":\"USD\",\"total\":\"1.00\"},\"description\":\"This is the payment transaction description.\"}]}"
|
338
|
-
-> "HTTP/1.1 400 Bad Request\r\n"
|
339
|
-
-> "Date: Wed, 17 Jun 2015 20:14:10 GMT\r\n"
|
340
|
-
-> "Server: Apache\r\n"
|
341
|
-
-> "PROXY_SERVER_INFO: host=slcsbplatformapiserv3002.slc.paypal.com;threadId=27084\r\n"
|
342
|
-
-> "Paypal-Debug-Id: 7de59c0202387\r\n"
|
343
|
-
-> "Content-Language: *\r\n"
|
344
|
-
-> "Connection: close\r\n"
|
345
|
-
-> "Connection: close\r\n"
|
346
|
-
-> "Content-Length: 185\r\n"
|
347
|
-
-> "Set-Cookie: X-PP-SILOVER=name%3DSANDBOX3.API.1%26silo_version%3D880%26app%3Dplatformapiserv%26TIME%3D315982165; domain=.paypal.com; path=/; Secure; HttpOnly\r\n"
|
348
|
-
-> "Set-Cookie: X-PP-SILOVER=; Expires=Thu, 01 Jan 1970 00:00:01 GMT\r\n"
|
349
|
-
-> "Vary: Authorization\r\n"
|
350
|
-
-> "Content-Type: application/json\r\n"
|
351
|
-
-> "\r\n"
|
352
|
-
reading 185 bytes...
|
353
|
-
-> "{\"name\":\"UNKNOWN_ERROR\",\"message\":\"An unknown error has occurred\",\"information_link\":\"https://developer.paypal.com/webapps/developer/docs/api/#UNKNOWN_ERROR\",\"debug_id\":\"7de59c0202387\"}"
|
354
|
-
read 185 bytes
|
355
|
-
Conn close
|
356
|
-
opening connection to api.sandbox.paypal.com:443...
|
357
|
-
opened
|
358
|
-
starting SSL for api.sandbox.paypal.com:443...
|
359
|
-
SSL established
|
360
|
-
<- "POST /v1/payments/payment HTTP/1.1\r\nX-Paypal-Sandbox-Email-Address: Platform.sdk.seller@gmail.com\r\nAuthorization: Bearer A0152gtigi4qv0lFob0S8hbXow3DGalNrlwWUZm4eK5TZuY\r\nContent-Type: application/json\r\nUser-Agent: PayPalSDK/PayPal-Ruby-SDK 1.2.2 (paypal-sdk-core 1.2.2; ruby 2.1.2p95-x86_64-darwin13.0)\r\nPaypal-Request-Id: 5a2d0e01-cdf3-4265-826e-b4bb937b6c98\r\nAccept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3\r\nAccept: */*\r\nHost: api.sandbox.paypal.com\r\nContent-Length: 478\r\n\r\n"
|
361
|
-
<- "{\"intent\":\"authorize\",\"payer\":{\"payment_method\":\"credit_card\",\"funding_instruments\":[{\"credit_card\":{\"number\":\"4417119669820331\",\"type\":\"visa\",\"expire_month\":11,\"expire_year\":2018,\"cvv2\":\"874\",\"first_name\":\"Joe\",\"last_name\":\"Shopper\",\"billing_address\":{\"line1\":\"52 N Main ST\",\"city\":\"Johnstown\",\"country_code\":\"US\",\"postal_code\":\"43210\",\"state\":\"OH\"}}}]},\"transactions\":[{\"amount\":{\"currency\":\"USD\",\"total\":\"1.00\"},\"description\":\"This is the payment transaction description.\"}]}"
|
362
|
-
-> "HTTP/1.1 400 Bad Request\r\n"
|
363
|
-
-> "Date: Wed, 17 Jun 2015 20:14:22 GMT\r\n"
|
364
|
-
-> "Server: Apache\r\n"
|
365
|
-
-> "PROXY_SERVER_INFO: host=slcsbplatformapiserv3001.slc.paypal.com;threadId=393\r\n"
|
366
|
-
-> "Paypal-Debug-Id: 4763000c01268\r\n"
|
367
|
-
-> "Content-Language: *\r\n"
|
368
|
-
-> "Connection: close\r\n"
|
369
|
-
-> "Connection: close\r\n"
|
370
|
-
-> "Content-Length: 185\r\n"
|
371
|
-
-> "Set-Cookie: X-PP-SILOVER=name%3DSANDBOX3.API.1%26silo_version%3D880%26app%3Dplatformapiserv%26TIME%3D517308757; domain=.paypal.com; path=/; Secure; HttpOnly\r\n"
|
372
|
-
-> "Set-Cookie: X-PP-SILOVER=; Expires=Thu, 01 Jan 1970 00:00:01 GMT\r\n"
|
373
|
-
-> "Vary: Authorization\r\n"
|
374
|
-
-> "Content-Type: application/json\r\n"
|
375
|
-
-> "\r\n"
|
376
|
-
reading 185 bytes...
|
377
|
-
-> "{\"name\":\"UNKNOWN_ERROR\",\"message\":\"An unknown error has occurred\",\"information_link\":\"https://developer.paypal.com/webapps/developer/docs/api/#UNKNOWN_ERROR\",\"debug_id\":\"4763000c01268\"}"
|
378
|
-
read 185 bytes
|
379
|
-
Conn close
|
380
|
-
opening connection to api.sandbox.paypal.com:443...
|
381
|
-
opened
|
382
|
-
starting SSL for api.sandbox.paypal.com:443...
|
383
|
-
SSL established
|
384
|
-
<- "POST /v1/payments/payment HTTP/1.1\r\nX-Paypal-Sandbox-Email-Address: Platform.sdk.seller@gmail.com\r\nAuthorization: Bearer A0152gtigi4qv0lFob0S8hbXow3DGalNrlwWUZm4eK5TZuY\r\nContent-Type: application/json\r\nUser-Agent: PayPalSDK/PayPal-Ruby-SDK 1.2.2 (paypal-sdk-core 1.2.2; ruby 2.1.2p95-x86_64-darwin13.0)\r\nPaypal-Request-Id: 01d61ec9-50a7-49ef-9bb3-bac4e8c24c4e\r\nAccept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3\r\nAccept: */*\r\nHost: api.sandbox.paypal.com\r\nContent-Length: 478\r\n\r\n"
|
385
|
-
<- "{\"intent\":\"authorize\",\"payer\":{\"payment_method\":\"credit_card\",\"funding_instruments\":[{\"credit_card\":{\"number\":\"4417119669820331\",\"type\":\"visa\",\"expire_month\":11,\"expire_year\":2018,\"cvv2\":\"874\",\"first_name\":\"Joe\",\"last_name\":\"Shopper\",\"billing_address\":{\"line1\":\"52 N Main ST\",\"city\":\"Johnstown\",\"country_code\":\"US\",\"postal_code\":\"43210\",\"state\":\"OH\"}}}]},\"transactions\":[{\"amount\":{\"currency\":\"USD\",\"total\":\"1.00\"},\"description\":\"This is the payment transaction description.\"}]}"
|
386
|
-
-> "HTTP/1.1 400 Bad Request\r\n"
|
387
|
-
-> "Date: Wed, 17 Jun 2015 20:14:34 GMT\r\n"
|
388
|
-
-> "Server: Apache\r\n"
|
389
|
-
-> "PROXY_SERVER_INFO: host=slcsbplatformapiserv3002.slc.paypal.com;threadId=205641\r\n"
|
390
|
-
-> "Paypal-Debug-Id: dde28a5a0c370\r\n"
|
391
|
-
-> "Content-Language: *\r\n"
|
392
|
-
-> "Connection: close\r\n"
|
393
|
-
-> "Connection: close\r\n"
|
394
|
-
-> "Content-Length: 185\r\n"
|
395
|
-
-> "Set-Cookie: X-PP-SILOVER=name%3DSANDBOX3.API.1%26silo_version%3D880%26app%3Dplatformapiserv%26TIME%3D718635349; domain=.paypal.com; path=/; Secure; HttpOnly\r\n"
|
396
|
-
-> "Set-Cookie: X-PP-SILOVER=; Expires=Thu, 01 Jan 1970 00:00:01 GMT\r\n"
|
397
|
-
-> "Vary: Authorization\r\n"
|
398
|
-
-> "Content-Type: application/json\r\n"
|
399
|
-
-> "\r\n"
|
400
|
-
reading 185 bytes...
|
401
|
-
-> "{\"name\":\"UNKNOWN_ERROR\",\"message\":\"An unknown error has occurred\",\"information_link\":\"https://developer.paypal.com/webapps/developer/docs/api/#UNKNOWN_ERROR\",\"debug_id\":\"dde28a5a0c370\"}"
|
402
|
-
read 185 bytes
|
403
|
-
Conn close
|
404
|
-
opening connection to api.sandbox.paypal.com:443...
|
405
|
-
opened
|
406
|
-
starting SSL for api.sandbox.paypal.com:443...
|
407
|
-
SSL established
|
408
|
-
<- "POST /v1/vault/credit-cards HTTP/1.1\r\nX-Paypal-Sandbox-Email-Address: Platform.sdk.seller@gmail.com\r\nAuthorization: Bearer A0152gtigi4qv0lFob0S8hbXow3DGalNrlwWUZm4eK5TZuY\r\nContent-Type: application/json\r\nUser-Agent: PayPalSDK/PayPal-Ruby-SDK 1.2.2 (paypal-sdk-core 1.2.2; ruby 2.1.2p95-x86_64-darwin13.0)\r\nPaypal-Request-Id: cef03a78-5511-48cc-988f-14166c952be0\r\nAccept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3\r\nAccept: */*\r\nHost: api.sandbox.paypal.com\r\nContent-Length: 251\r\n\r\n"
|
409
|
-
<- "{\"number\":\"4417119669820331\",\"type\":\"visa\",\"expire_month\":11,\"expire_year\":2018,\"cvv2\":\"874\",\"first_name\":\"Joe\",\"last_name\":\"Shopper\",\"billing_address\":{\"line1\":\"52 N Main ST\",\"city\":\"Johnstown\",\"country_code\":\"US\",\"postal_code\":\"43210\",\"state\":\"OH\"}}"
|
410
|
-
-> "HTTP/1.1 201 Created\r\n"
|
411
|
-
-> "Date: Wed, 17 Jun 2015 20:14:47 GMT\r\n"
|
412
|
-
-> "Server: Apache\r\n"
|
413
|
-
-> "PROXY_SERVER_INFO: host=slcsbplatformapiserv3002.slc.paypal.com;threadId=14776\r\n"
|
414
|
-
-> "Paypal-Debug-Id: 17fb99800b284\r\n"
|
415
|
-
-> "Content-Language: *\r\n"
|
416
|
-
-> "Content-Length: 787\r\n"
|
417
|
-
-> "Set-Cookie: X-PP-SILOVER=name%3DSANDBOX3.API.1%26silo_version%3D880%26app%3Dplatformapiserv%26TIME%3D936739157; domain=.paypal.com; path=/; Secure; HttpOnly\r\n"
|
418
|
-
-> "Set-Cookie: X-PP-SILOVER=; Expires=Thu, 01 Jan 1970 00:00:01 GMT\r\n"
|
419
|
-
-> "Vary: Authorization\r\n"
|
420
|
-
-> "Connection: close\r\n"
|
421
|
-
-> "Content-Type: application/json\r\n"
|
422
|
-
-> "\r\n"
|
423
|
-
reading 787 bytes...
|
424
|
-
-> "{\"id\":\"CARD-1CM385517H585641GKWA5KNY\",\"state\":\"ok\",\"type\":\"visa\",\"number\":\"xxxxxxxxxxxx0331\",\"expire_month\":\"11\",\"expire_year\":\"2018\",\"first_name\":\"Joe\",\"last_name\":\"Shopper\",\"billing_address\":{\"line1\":\"52 N Main ST\",\"city\":\"Johnstown\",\"state\":\"OH\",\"postal_code\":\"43210\",\"country_code\":\"US\"},\"valid_until\":\"2018-06-16T00:00:00Z\",\"create_time\":\"2015-06-17T20:14:47Z\",\"update_time\":\"2015-06-17T20:14:47Z\",\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/vault/credit-cards/CARD-1CM385517H585641GKWA5KNY\",\"rel\":\"self\",\"method\":\"GET\"},{\"href\":\"https://api.sandbox.paypal.com/v1/vault/credit-cards/CARD-1CM385517H585641GKWA5KNY\",\"rel\":\"delete\",\"method\":\"DELETE\"},{\"href\":\"https://api.sandbox.paypal.com/v1/vault/credit-cards/CARD-1CM385517H585641GKWA5KNY\",\"rel\":\"patch\",\"method\":\"PATCH\"}]}"
|
425
|
-
read 787 bytes
|
426
|
-
Conn close
|
427
|
-
opening connection to api.sandbox.paypal.com:443...
|
428
|
-
opened
|
429
|
-
starting SSL for api.sandbox.paypal.com:443...
|
430
|
-
SSL established
|
431
|
-
<- "GET /v1/vault/credit-cards/CARD-1CM385517H585641GKWA5KNY HTTP/1.1\r\nX-Paypal-Sandbox-Email-Address: Platform.sdk.seller@gmail.com\r\nAuthorization: Bearer A0152gtigi4qv0lFob0S8hbXow3DGalNrlwWUZm4eK5TZuY\r\nContent-Type: application/json\r\nUser-Agent: PayPalSDK/PayPal-Ruby-SDK 1.2.2 (paypal-sdk-core 1.2.2; ruby 2.1.2p95-x86_64-darwin13.0)\r\nAccept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3\r\nAccept: */*\r\nHost: api.sandbox.paypal.com\r\n\r\n"
|
432
|
-
-> "HTTP/1.1 200 OK\r\n"
|
433
|
-
-> "Date: Wed, 17 Jun 2015 20:14:47 GMT\r\n"
|
434
|
-
-> "Server: Apache\r\n"
|
435
|
-
-> "PROXY_SERVER_INFO: host=slcsbplatformapiserv3002.slc.paypal.com;threadId=27095\r\n"
|
436
|
-
-> "Paypal-Debug-Id: 235fdf1708f2e\r\n"
|
437
|
-
-> "Content-Language: *\r\n"
|
438
|
-
-> "Content-Length: 787\r\n"
|
439
|
-
-> "Set-Cookie: X-PP-SILOVER=name%3DSANDBOX3.API.1%26silo_version%3D880%26app%3Dplatformapiserv%26TIME%3D936739157; domain=.paypal.com; path=/; Secure; HttpOnly\r\n"
|
440
|
-
-> "Set-Cookie: X-PP-SILOVER=; Expires=Thu, 01 Jan 1970 00:00:01 GMT\r\n"
|
441
|
-
-> "Vary: Authorization\r\n"
|
442
|
-
-> "Connection: close\r\n"
|
443
|
-
-> "Content-Type: application/json\r\n"
|
444
|
-
-> "\r\n"
|
445
|
-
reading 787 bytes...
|
446
|
-
-> "{\"id\":\"CARD-1CM385517H585641GKWA5KNY\",\"state\":\"ok\",\"type\":\"visa\",\"number\":\"xxxxxxxxxxxx0331\",\"expire_month\":\"11\",\"expire_year\":\"2018\",\"first_name\":\"Joe\",\"last_name\":\"Shopper\",\"billing_address\":{\"line1\":\"52 N Main ST\",\"city\":\"Johnstown\",\"state\":\"OH\",\"postal_code\":\"43210\",\"country_code\":\"US\"},\"valid_until\":\"2018-06-16T00:00:00Z\",\"create_time\":\"2015-06-17T20:14:47Z\",\"update_time\":\"2015-06-17T20:14:47Z\",\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/vault/credit-cards/CARD-1CM385517H585641GKWA5KNY\",\"rel\":\"self\",\"method\":\"GET\"},{\"href\":\"https://api.sandbox.paypal.com/v1/vault/credit-cards/CARD-1CM385517H585641GKWA5KNY\",\"rel\":\"delete\",\"method\":\"DELETE\"},{\"href\":\"https://api.sandbox.paypal.com/v1/vault/credit-cards/CARD-1CM385517H585641GKWA5KNY\",\"rel\":\"patch\",\"method\":\"PATCH\"}]}"
|
447
|
-
read 787 bytes
|
448
|
-
Conn close
|
449
|
-
opening connection to api.sandbox.paypal.com:443...
|
450
|
-
opened
|
451
|
-
starting SSL for api.sandbox.paypal.com:443...
|
452
|
-
SSL established
|
453
|
-
<- "POST /v1/vault/credit-cards HTTP/1.1\r\nX-Paypal-Sandbox-Email-Address: Platform.sdk.seller@gmail.com\r\nAuthorization: Bearer A0152gtigi4qv0lFob0S8hbXow3DGalNrlwWUZm4eK5TZuY\r\nContent-Type: application/json\r\nUser-Agent: PayPalSDK/PayPal-Ruby-SDK 1.2.2 (paypal-sdk-core 1.2.2; ruby 2.1.2p95-x86_64-darwin13.0)\r\nPaypal-Request-Id: 4efb1026-492e-4244-874a-0298f81c841f\r\nAccept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3\r\nAccept: */*\r\nHost: api.sandbox.paypal.com\r\nContent-Length: 80\r\n\r\n"
|
454
|
-
<- "{\"number\":\"4417119669820331\",\"type\":\"visa\",\"expire_month\":11,\"expire_year\":2018}"
|
455
|
-
-> "HTTP/1.1 201 Created\r\n"
|
456
|
-
-> "Date: Wed, 17 Jun 2015 20:14:48 GMT\r\n"
|
457
|
-
-> "Server: Apache\r\n"
|
458
|
-
-> "PROXY_SERVER_INFO: host=slcsbplatformapiserv3001.slc.paypal.com;threadId=29379\r\n"
|
459
|
-
-> "Paypal-Debug-Id: d224a66908bb0\r\n"
|
460
|
-
-> "Content-Language: *\r\n"
|
461
|
-
-> "Content-Length: 629\r\n"
|
462
|
-
-> "Set-Cookie: X-PP-SILOVER=name%3DSANDBOX3.API.1%26silo_version%3D880%26app%3Dplatformapiserv%26TIME%3D953516373; domain=.paypal.com; path=/; Secure; HttpOnly\r\n"
|
463
|
-
-> "Set-Cookie: X-PP-SILOVER=; Expires=Thu, 01 Jan 1970 00:00:01 GMT\r\n"
|
464
|
-
-> "Vary: Authorization\r\n"
|
465
|
-
-> "Connection: close\r\n"
|
466
|
-
-> "Content-Type: application/json\r\n"
|
467
|
-
-> "\r\n"
|
468
|
-
reading 629 bytes...
|
469
|
-
-> "{\"id\":\"CARD-6XM88206FX669024YKWA5KOA\",\"state\":\"ok\",\"type\":\"visa\",\"number\":\"xxxxxxxxxxxx0331\",\"expire_month\":\"11\",\"expire_year\":\"2018\",\"valid_until\":\"2018-06-16T00:00:00Z\",\"create_time\":\"2015-06-17T20:14:48Z\",\"update_time\":\"2015-06-17T20:14:48Z\",\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/vault/credit-cards/CARD-6XM88206FX669024YKWA5KOA\",\"rel\":\"self\",\"method\":\"GET\"},{\"href\":\"https://api.sandbox.paypal.com/v1/vault/credit-cards/CARD-6XM88206FX669024YKWA5KOA\",\"rel\":\"delete\",\"method\":\"DELETE\"},{\"href\":\"https://api.sandbox.paypal.com/v1/vault/credit-cards/CARD-6XM88206FX669024YKWA5KOA\",\"rel\":\"patch\",\"method\":\"PATCH\"}]}"
|
470
|
-
read 629 bytes
|
471
|
-
Conn close
|
472
|
-
opening connection to api.sandbox.paypal.com:443...
|
473
|
-
opened
|
474
|
-
starting SSL for api.sandbox.paypal.com:443...
|
475
|
-
SSL established
|
476
|
-
<- "DELETE /v1/vault/credit-cards/CARD-6XM88206FX669024YKWA5KOA HTTP/1.1\r\nX-Paypal-Sandbox-Email-Address: Platform.sdk.seller@gmail.com\r\nAuthorization: Bearer A0152gtigi4qv0lFob0S8hbXow3DGalNrlwWUZm4eK5TZuY\r\nContent-Type: application/json\r\nUser-Agent: PayPalSDK/PayPal-Ruby-SDK 1.2.2 (paypal-sdk-core 1.2.2; ruby 2.1.2p95-x86_64-darwin13.0)\r\nAccept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3\r\nAccept: */*\r\nHost: api.sandbox.paypal.com\r\n\r\n"
|
94
|
+
<- "DELETE /v1/notifications/webhooks/50T98599JH617711K HTTP/1.1\r\nX-Paypal-Sandbox-Email-Address: Platform.sdk.seller@gmail.com\r\nAuthorization: Bearer A015utd2WErH9umRC.Jj7PryFIBwmu-2qGw7Evx6gx6P8t0\r\nContent-Type: application/json\r\nUser-Agent: PayPalSDK/PayPal-Ruby-SDK 1.3.0 (paypal-sdk-core 1.3.0; ruby 2.1.2p95-x86_64-darwin13.0)\r\nAccept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3\r\nAccept: */*\r\nHost: api.sandbox.paypal.com\r\n\r\n"
|
477
95
|
-> "HTTP/1.1 204 No Content\r\n"
|
478
|
-
-> "Date:
|
96
|
+
-> "Date: Mon, 29 Jun 2015 00:16:49 GMT\r\n"
|
479
97
|
-> "Server: Apache\r\n"
|
480
|
-
-> "PROXY_SERVER_INFO: host=slcsbplatformapiserv3001.slc.paypal.com;threadId=
|
481
|
-
-> "Paypal-Debug-Id:
|
98
|
+
-> "PROXY_SERVER_INFO: host=slcsbplatformapiserv3001.slc.paypal.com;threadId=624\r\n"
|
99
|
+
-> "Paypal-Debug-Id: 594920158d7fe\r\n"
|
482
100
|
-> "Content-Language: *\r\n"
|
483
|
-
-> "Set-Cookie: X-PP-SILOVER=name%3DSANDBOX3.API.1%26silo_version%3D880%26app%3Dplatformapiserv%26TIME%
|
101
|
+
-> "Set-Cookie: X-PP-SILOVER=name%3DSANDBOX3.API.1%26silo_version%3D880%26app%3Dplatformapiserv%26TIME%3D1905168469; domain=.paypal.com; path=/; Secure; HttpOnly\r\n"
|
484
102
|
-> "Set-Cookie: X-PP-SILOVER=; Expires=Thu, 01 Jan 1970 00:00:01 GMT\r\n"
|
485
103
|
-> "Vary: Authorization\r\n"
|
486
104
|
-> "Connection: close\r\n"
|
487
105
|
-> "Content-Type: text/plain; charset=ISO-8859-1\r\n"
|
488
106
|
-> "\r\n"
|
489
107
|
Conn close
|
490
|
-
opening connection to api.sandbox.paypal.com:443...
|
491
|
-
opened
|
492
|
-
starting SSL for api.sandbox.paypal.com:443...
|
493
|
-
SSL established
|
494
|
-
<- "POST /v1/vault/credit-cards HTTP/1.1\r\nX-Paypal-Sandbox-Email-Address: Platform.sdk.seller@gmail.com\r\nAuthorization: Bearer A0152gtigi4qv0lFob0S8hbXow3DGalNrlwWUZm4eK5TZuY\r\nContent-Type: application/json\r\nUser-Agent: PayPalSDK/PayPal-Ruby-SDK 1.2.2 (paypal-sdk-core 1.2.2; ruby 2.1.2p95-x86_64-darwin13.0)\r\nPaypal-Request-Id: 2c6472a5-714e-4eb4-984f-d666404c313d\r\nAccept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3\r\nAccept: */*\r\nHost: api.sandbox.paypal.com\r\nContent-Length: 43\r\n\r\n"
|
495
|
-
<- "{\"number\":\"4111111111111111\",\"type\":\"visa\"}"
|
496
|
-
-> "HTTP/1.1 400 Bad Request\r\n"
|
497
|
-
-> "Date: Wed, 17 Jun 2015 20:14:49 GMT\r\n"
|
498
|
-
-> "Server: Apache\r\n"
|
499
|
-
-> "PROXY_SERVER_INFO: host=slcsbplatformapiserv3002.slc.paypal.com;threadId=143967\r\n"
|
500
|
-
-> "Paypal-Debug-Id: bab11b63084c7\r\n"
|
501
|
-
-> "Content-Language: *\r\n"
|
502
|
-
-> "Connection: close\r\n"
|
503
|
-
-> "Connection: close\r\n"
|
504
|
-
-> "Content-Length: 300\r\n"
|
505
|
-
-> "Set-Cookie: X-PP-SILOVER=name%3DSANDBOX3.API.1%26silo_version%3D880%26app%3Dplatformapiserv%26TIME%3D970293589; domain=.paypal.com; path=/; Secure; HttpOnly\r\n"
|
506
|
-
-> "Set-Cookie: X-PP-SILOVER=; Expires=Thu, 01 Jan 1970 00:00:01 GMT\r\n"
|
507
|
-
-> "Vary: Authorization\r\n"
|
508
|
-
-> "Content-Type: application/json\r\n"
|
509
|
-
-> "\r\n"
|
510
|
-
reading 300 bytes...
|
511
|
-
-> "{\"name\":\"VALIDATION_ERROR\",\"details\":[{\"field\":\"expire_year\",\"issue\":\"Required field missing\"},{\"field\":\"expire_month\",\"issue\":\"Required field missing\"}],\"message\":\"Invalid request - see details\",\"information_link\":\"https://developer.paypal.com/docs/api/#VALIDATION_ERROR\",\"debug_id\":\"bab11b63084c7\"}"
|
512
|
-
read 300 bytes
|
513
|
-
Conn close
|
@@ -15,28 +15,70 @@ describe "Webhooks", :integration => true do
|
|
15
15
|
]
|
16
16
|
}
|
17
17
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
18
|
+
describe "Notifications" do
|
19
|
+
it "create webhook" do
|
20
|
+
$webhook = PayPal::SDK::REST::Webhook.new(webhookAttributes)
|
21
|
+
expect($webhook.create).to be_truthy
|
22
|
+
end
|
22
23
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
24
|
+
it "get webhook" do
|
25
|
+
$result = PayPal::SDK::REST::Webhook.get($webhook.id)
|
26
|
+
expect($result).to be_a PayPal::SDK::REST::Webhook
|
27
|
+
expect($result.id).to eql $webhook.id
|
28
|
+
end
|
28
29
|
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
30
|
+
it "get all webhooks" do
|
31
|
+
$webhooks_list = PayPal::SDK::REST::Webhook.all()
|
32
|
+
expect($webhooks_list.webhooks.length).not_to be_nil
|
33
|
+
end
|
33
34
|
|
34
|
-
|
35
|
-
|
36
|
-
|
35
|
+
it "get subscribed webhook event types" do
|
36
|
+
$webhook_event_types = PayPal::SDK::REST::Webhook.get_event_types($webhook.id)
|
37
|
+
expect($webhook_event_types.event_types.length).to eql $webhook.event_types.length
|
38
|
+
end
|
39
|
+
|
40
|
+
it "delete webhook" do
|
41
|
+
expect($webhook.delete).to be_truthy
|
42
|
+
end
|
37
43
|
end
|
38
44
|
|
39
|
-
|
40
|
-
|
45
|
+
describe "Validation" do
|
46
|
+
|
47
|
+
transmission_id = "dfb3be50-fd74-11e4-8bf3-77339302725b"
|
48
|
+
timestamp = "2015-05-18T15:45:13Z"
|
49
|
+
webhook_id = "4JH86294D6297924G"
|
50
|
+
actual_signature = "thy4/U002quzxFavHPwbfJGcc46E8rc5jzgyeafWm5mICTBdY/8rl7WJpn8JA0GKA+oDTPsSruqusw+XXg5RLAP7ip53Euh9Xu3UbUhQFX7UgwzE2FeYoY6lyRMiiiQLzy9BvHfIzNIVhPad4KnC339dr6y2l+mN8ALgI4GCdIh3/SoJO5wE64Bh/ueWtt8EVuvsvXfda2Le5a2TrOI9vLEzsm9GS79hAR/5oLexNz8UiZr045Mr5ObroH4w4oNfmkTaDk9Rj0G19uvISs5QzgmBpauKr7Nw++JI0pr/v5mFctQkoWJSGfBGzPRXawrvIIVHQ9Wer48GR2g9ZiApWg=="
|
51
|
+
event_body = '{"id":"WH-0G2756385H040842W-5Y612302CV158622M","create_time":"2015-05-18T15:45:13Z","resource_type":"sale","event_type":"PAYMENT.SALE.COMPLETED","summary":"Payment completed for $ 20.0 USD","resource":{"id":"4EU7004268015634R","create_time":"2015-05-18T15:44:02Z","update_time":"2015-05-18T15:44:21Z","amount":{"total":"20.00","currency":"USD"},"payment_mode":"INSTANT_TRANSFER","state":"completed","protection_eligibility":"ELIGIBLE","protection_eligibility_type":"ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE","parent_payment":"PAY-86C81811X5228590KKVNARQQ","transaction_fee":{"value":"0.88","currency":"USD"},"links":[{"href":"https://api.sandbox.paypal.com/v1/payments/sale/4EU7004268015634R","rel":"self","method":"GET"},{"href":"https://api.sandbox.paypal.com/v1/payments/sale/4EU7004268015634R/refund","rel":"refund","method":"POST"},{"href":"https://api.sandbox.paypal.com/v1/payments/payment/PAY-86C81811X5228590KKVNARQQ","rel":"parent_payment","method":"GET"}]},"links":[{"href":"https://api.sandbox.paypal.com/v1/notifications/webhooks-events/WH-0G2756385H040842W-5Y612302CV158622M","rel":"self","method":"GET"},{"href":"https://api.sandbox.paypal.com/v1/notifications/webhooks-events/WH-0G2756385H040842W-5Y612302CV158622M/resend","rel":"resend","method":"POST"}]}'
|
52
|
+
cert_url = "https://api.sandbox.paypal.com/v1/notifications/certs/CERT-360caa42-fca2a594-a5cafa77"
|
53
|
+
cert = PayPal::SDK::REST::WebhookEvent.get_cert(cert_url)
|
54
|
+
|
55
|
+
it "verify common name" do
|
56
|
+
cert = PayPal::SDK::REST::WebhookEvent.get_cert(cert_url)
|
57
|
+
valid = PayPal::SDK::REST::WebhookEvent.verify_common_name(cert)
|
58
|
+
expect(valid).to be_truthy
|
59
|
+
end
|
60
|
+
|
61
|
+
it "verify get expected signature" do
|
62
|
+
expected_sig = PayPal::SDK::REST::WebhookEvent.get_expected_sig(transmission_id, timestamp, webhook_id, event_body)
|
63
|
+
expect(expected_sig).eql?("dfb3be50-fd74-11e4-8bf3-77339302725b|2015-05-18T15:45:13Z|4JH86294D6297924G|2771810304")
|
64
|
+
end
|
65
|
+
|
66
|
+
it "verify expiry" do
|
67
|
+
valid = PayPal::SDK::REST::WebhookEvent.verify_expiration(cert)
|
68
|
+
expect(valid).to be_truthy
|
69
|
+
end
|
70
|
+
|
71
|
+
it "verify cert chain" do
|
72
|
+
cert_store = PayPal::SDK::REST::WebhookEvent.get_cert_chain
|
73
|
+
valid = PayPal::SDK::REST::WebhookEvent.verify_cert_chain(cert_store, cert)
|
74
|
+
expect(valid).to be_truthy
|
75
|
+
end
|
76
|
+
|
77
|
+
it "verify" do
|
78
|
+
valid = PayPal::SDK::REST::WebhookEvent.verify(transmission_id, timestamp, webhook_id, event_body, cert_url, actual_signature)
|
79
|
+
expect(valid).to be_truthy
|
80
|
+
end
|
41
81
|
end
|
82
|
+
|
83
|
+
|
42
84
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: paypal-sdk-rest
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- PayPal
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-06-
|
11
|
+
date: 2015-06-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: coveralls
|
@@ -77,6 +77,8 @@ files:
|
|
77
77
|
- Gemfile
|
78
78
|
- README.md
|
79
79
|
- Rakefile
|
80
|
+
- data/DigiCertHighAssuranceEVRootCA.pem
|
81
|
+
- data/DigiCertSHA2ExtendedValidationServerCA.pem
|
80
82
|
- data/paypal.crt
|
81
83
|
- lib/generators/paypal/sdk/USAGE
|
82
84
|
- lib/generators/paypal/sdk/install_generator.rb
|