paypal-sdk-rest 1.0.0 → 1.1.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: a369569eb5ff7fefd5a919a9935a16a9679c06ea
4
- data.tar.gz: e9aaebaabd2099f8d2615fa30c9fad23af18407b
3
+ metadata.gz: 07db60ccb56f3303a18377ef1dd37992408b989d
4
+ data.tar.gz: 732ccec842f2490d9ca90aed7240ed002d1ba787
5
5
  SHA512:
6
- metadata.gz: 1696f507a5fcc328f2a8362fda8268339be044ab277583f239d7541be13eace7dd152552ec9a74ccc369410503b212a82cbbbce7d28652afa9e24835a706beeb
7
- data.tar.gz: b5e30d11a4016f6af6f24b79d1b6967ab00f390f5cfea04401da4c381ada9bad7dfa44d0a0cfb5e8d55fc7f8875692b803d841cdb459f94eff13e7d113b05e78
6
+ metadata.gz: 2ad6624e92f98809956058b6c00ac6b86a6f0682602dc2c4dd5a2dfd25fbaf20370d187ba1f2735b463668b79aabc729d03d0b55d7ed0e9f8cfaae23d84c8256
7
+ data.tar.gz: 47e46b3cc5c57b236e07d4d8a40df90097bdae92624f684d68fa15f3e70a01d3c2476f4eb2223332dfb191457f5d8576202e62f51ba10374dc907019c6b35bfe
@@ -91,9 +91,9 @@ module PayPal::SDK::Core
91
91
  # * <tt>action</tt> -- Action to perform
92
92
  # * <tt>params</tt> -- (Optional) Parameters for the action
93
93
  # * <tt>initheader</tt> -- (Optional) HTTP header
94
- def post(action, params = {}, header = {})
94
+ def post(action, params = {}, header = {}, query = {})
95
95
  action, params, header = "", action, params if action.is_a? Hash
96
- api_call(:method => :post, :action => action, :params => params, :header => header)
96
+ api_call(:method => :post, :action => action, :query => query, :params => params, :header => header)
97
97
  end
98
98
  alias_method :request, :post
99
99
 
@@ -91,6 +91,32 @@ module PayPal::SDK
91
91
  end
92
92
  end
93
93
 
94
+
95
+ class FuturePayment < Payment
96
+
97
+ include PayPal::SDK::OpenIDConnect
98
+
99
+ def self.exch_token(auth_code)
100
+ if auth_code
101
+ tokeninfo = Tokeninfo.create(auth_code)
102
+ puts "tokeninfo=", tokeninfo.to_hash
103
+ tokeninfo
104
+ end
105
+ end
106
+
107
+ def create(correlation_id=nil)
108
+ path = "v1/payments/payment"
109
+ if correlation_id != nil
110
+ header = http_header
111
+ header = header.merge({
112
+ "PAYPAL-CLIENT-METADATA-ID" => correlation_id})
113
+ end
114
+ response = api.post(path, self.to_hash, http_header)
115
+ self.merge!(response)
116
+ success?
117
+ end
118
+ end
119
+
94
120
  class Payer < Base
95
121
  def self.load_members
96
122
  object_of :payment_method, String
@@ -474,6 +500,9 @@ module PayPal::SDK
474
500
 
475
501
  class Payee < Base
476
502
  def self.load_members
503
+ object_of :email, String
504
+ object_of :merchant_id, String
505
+ object_of :phone, Phone
477
506
  end
478
507
  end
479
508
 
@@ -729,6 +758,7 @@ module PayPal::SDK
729
758
  object_of :message, String
730
759
  object_of :information_link, String
731
760
  array_of :details, ErrorDetails
761
+ array_of :links, Links
732
762
  end
733
763
  end
734
764
 
@@ -933,6 +963,104 @@ module PayPal::SDK
933
963
  end
934
964
  end
935
965
 
966
+ class Payout < Base
967
+
968
+ def self.load_members
969
+ object_of :sender_batch_header, PayoutSenderBatchHeader
970
+ array_of :items, PayoutItem
971
+ end
972
+
973
+ include RequestDataType
974
+
975
+ def create(sync_mode = false)
976
+ path = "v1/payments/payouts"
977
+ options = { :sync_mode => sync_mode }
978
+ response = api.post(path, self.to_hash, http_header, options)
979
+ PayoutBatch.new(response)
980
+ end
981
+
982
+ class << self
983
+ def get(payout_batch_id, options = {})
984
+ raise ArgumentError.new("id required") if payout_batch_id.to_s.strip.empty?
985
+ path = "v1/payments/payouts/#{payout_batch_id}"
986
+ PayoutBatch.new(api.get(path, options))
987
+ end
988
+ end
989
+ end
990
+ class PayoutItem < Base
991
+
992
+ def self.load_members
993
+ object_of :recipient_type, String
994
+ object_of :amount, Currency
995
+ object_of :note, String
996
+ object_of :receiver, String
997
+ object_of :sender_item_id, String
998
+ end
999
+
1000
+ include RequestDataType
1001
+
1002
+ class << self
1003
+ def get(payout_item_id)
1004
+ raise ArgumentError.new("payout_item_id required") if payout_item_id.to_s.strip.empty?
1005
+ path = "v1/payments/payouts-item/#{payout_item_id}"
1006
+ PayoutItemDetails.new(api.get(path))
1007
+ end
1008
+ def cancel(payout_item_id)
1009
+ raise ArgumentError.new("payout_item_id required") if payout_item_id.to_s.strip.empty?
1010
+ path = "v1/payments/payouts-item/#{payout_item_id}/cancel"
1011
+ PayoutItemDetails.new(api.post(path))
1012
+ end
1013
+ end
1014
+
1015
+ end
1016
+ class PayoutItemDetails < Base
1017
+
1018
+ def self.load_members
1019
+ object_of :payout_item_id, String
1020
+ object_of :transaction_id, String
1021
+ object_of :transaction_status, String
1022
+ object_of :payout_item_fee, Currency
1023
+ object_of :payout_batch_id, String
1024
+ object_of :sender_batch_id, String
1025
+ object_of :payout_item, PayoutItem
1026
+ object_of :time_processed, String
1027
+ object_of :errors, Error
1028
+ array_of :links, Links
1029
+ end
1030
+
1031
+ end
1032
+ class PayoutBatch < Base
1033
+
1034
+ def self.load_members
1035
+ object_of :batch_header, PayoutBatchHeader
1036
+ array_of :items, PayoutItemDetails
1037
+ array_of :links, Links
1038
+ end
1039
+
1040
+ end
1041
+ class PayoutBatchHeader < Base
1042
+
1043
+ def self.load_members
1044
+ object_of :payout_batch_id, String
1045
+ object_of :batch_status, String
1046
+ object_of :time_created, String
1047
+ object_of :time_completed, String
1048
+ object_of :sender_batch_header, PayoutSenderBatchHeader
1049
+ object_of :amount, Currency
1050
+ object_of :fees, Currency
1051
+ object_of :errors, Error
1052
+ end
1053
+
1054
+ end
1055
+ class PayoutSenderBatchHeader < Base
1056
+
1057
+ def self.load_members
1058
+ object_of :sender_batch_id, String
1059
+ object_of :email_subject, String
1060
+ object_of :recipient_type, String
1061
+ end
1062
+
1063
+ end
936
1064
  class Invoices < Base
937
1065
  def self.load_members
938
1066
  object_of :total_count, Integer
@@ -1,7 +1,7 @@
1
1
  module PayPal
2
2
  module SDK
3
3
  module REST
4
- VERSION = "1.0.0"
4
+ VERSION = "1.1.0"
5
5
  end
6
6
  end
7
7
  end
@@ -5,7 +5,6 @@ module PayPal
5
5
  module REST
6
6
  autoload :VERSION, "paypal-sdk/rest/version"
7
7
  autoload :DataTypes, "paypal-sdk/rest/data_types"
8
- autoload :ExtendedDataTypes, "paypal-sdk/rest/extended_data_types"
9
8
  autoload :API, "paypal-sdk/rest/api"
10
9
  autoload :RequestDataType, "paypal-sdk/rest/request_data_type"
11
10
  autoload :SetAPI, "paypal-sdk/rest/set_api"
@@ -1,6 +1,6 @@
1
1
  test: &default
2
- client_id: EBWKjlELKMYqRNQ6sYvFo64FtaRLRR5BdHEESmha49TM
3
- client_secret: EO422dn3gQLgDbuwqTjzrFgFtaRLRR5BdHEESmha49TM
2
+ client_id: AYSq3RDGsmBLJE-otTkBtM-jBRd1TCQwFf9RGfwddNXWz0uFU9ztymylOhRS
3
+ client_secret: EGnHDxD_qRPdaLdZz8iCr8N7_MzF-YHPTkjs6NKYQvQSBngp4PTTVWkPZRbL
4
4
  username: jb-us-seller_api1.paypal.com
5
5
  password: WX4WTU3S8MY44S7F
6
6
  signature: AFcWxV21C7fd0v3bYYYRCpSSRl31A7yDhhsPUU2XhtMoZXsWHFxu-RWy
@@ -14,8 +14,8 @@ development:
14
14
 
15
15
  with_authentication:
16
16
  <<: *default
17
- client_id: EBWKjlELKMYqRNQ6sYvFo64FtaRLRR5BdHEESmha49TM
18
- client_secret: EO422dn3gQLgDbuwqTjzrFgFtaRLRR5BdHEESmha49TM
17
+ client_id: AYSq3RDGsmBLJE-otTkBtM-jBRd1TCQwFf9RGfwddNXWz0uFU9ztymylOhRS
18
+ client_secret: EGnHDxD_qRPdaLdZz8iCr8N7_MzF-YHPTkjs6NKYQvQSBngp4PTTVWkPZRbL
19
19
 
20
20
  with_certificate:
21
21
  <<: *default
@@ -87,7 +87,7 @@ describe PayPal::SDK::Core::API::REST do
87
87
  end
88
88
  end
89
89
 
90
- describe "Success request" do
90
+ describe "Success request", :integration => true do
91
91
 
92
92
  it "Create Payment" do
93
93
  response = @api.post("payment", {
data/spec/log/http.log CHANGED
@@ -1,95 +0,0 @@
1
- opening connection to api.sandbox.paypal.com:443...
2
- opened
3
- starting SSL for api.sandbox.paypal.com:443...
4
- SSL established
5
- <- "POST /v1/vault/credit-card HTTP/1.1\r\nX-Paypal-Sandbox-Email-Address: Platform.sdk.seller@gmail.com\r\nAuthorization: Bearer A015Wzv2g.FBt8R8lMLiC29HZVC3BHrQNHvOJa1fDg9TaIQ\r\nContent-Type: application/json\r\nUser-Agent: PayPalSDK/PayPal-Ruby-SDK 1.0.0 (paypal-sdk-core 0.3.1; ruby 2.1.2p95-x86_64-darwin13.0)\r\nPaypal-Request-Id: d00d5d2b-5f98-4d8d-92f5-5bb0121983a6\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"
6
- <- "{\"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\"}}"
7
- -> "HTTP/1.1 201 Created\r\n"
8
- -> "Server: Apache-Coyote/1.1\r\n"
9
- -> "PROXY_SERVER_INFO: host=slcsbplatformapiserv3001.slc.paypal.com;threadId=374349\r\n"
10
- -> "Paypal-Debug-Id: abeff599fbb6d\r\n"
11
- -> "Content-Language: *\r\n"
12
- -> "Date: Mon, 26 Jan 2015 23:38:22 GMT\r\n"
13
- -> "SERVER_INFO: vaultplatformserv:v1.vault.credit-card&CalThreadId=144&TopLevelTxnStartTime=14b289c3a3b&Host=slcsbvaultplatformserv501.slc.paypal.com&pid=26863\r\n"
14
- -> "Content-Type: application/json\r\n"
15
- -> "Content-Length: 784\r\n"
16
- -> "\r\n"
17
- reading 784 bytes...
18
- -> "{\"id\":\"CARD-8EH41211YH683514LKTDM73Q\",\"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-01-25T00:00:00Z\",\"create_time\":\"2015-01-26T23:38:22Z\",\"update_time\":\"2015-01-26T23:38:22Z\",\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/vault/credit-card/CARD-8EH41211YH683514LKTDM73Q\",\"rel\":\"self\",\"method\":\"GET\"},{\"href\":\"https://api.sandbox.paypal.com/v1/vault/credit-card/CARD-8EH41211YH683514LKTDM73Q\",\"rel\":\"delete\",\"method\":\"DELETE\"},{\"href\":\"https://api.sandbox.paypal.com/v1/vault/credit-card/CARD-8EH41211YH683514LKTDM73Q\",\"rel\":\"patch\",\"method\":\"PATCH\"}]}"
19
- read 784 bytes
20
- Conn keep-alive
21
- opening connection to api.sandbox.paypal.com:443...
22
- opened
23
- starting SSL for api.sandbox.paypal.com:443...
24
- SSL established
25
- <- "GET /v1/vault/credit-card/CARD-8EH41211YH683514LKTDM73Q HTTP/1.1\r\nX-Paypal-Sandbox-Email-Address: Platform.sdk.seller@gmail.com\r\nAuthorization: Bearer A015Wzv2g.FBt8R8lMLiC29HZVC3BHrQNHvOJa1fDg9TaIQ\r\nContent-Type: application/json\r\nUser-Agent: PayPalSDK/PayPal-Ruby-SDK 1.0.0 (paypal-sdk-core 0.3.1; 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"
26
- -> "HTTP/1.1 200 OK\r\n"
27
- -> "Server: Apache-Coyote/1.1\r\n"
28
- -> "PROXY_SERVER_INFO: host=slcsbplatformapiserv3002.slc.paypal.com;threadId=370412\r\n"
29
- -> "Paypal-Debug-Id: 9f6e4c66f44ea\r\n"
30
- -> "Content-Language: *\r\n"
31
- -> "Date: Mon, 26 Jan 2015 23:38:21 GMT\r\n"
32
- -> "SERVER_INFO: vaultplatformserv:v1.vault.credit-card&CalThreadId=145&TopLevelTxnStartTime=14b289c3cc5&Host=slcsbvaultplatformserv501.slc.paypal.com&pid=26863\r\n"
33
- -> "Content-Type: application/json\r\n"
34
- -> "Content-Length: 784\r\n"
35
- -> "\r\n"
36
- reading 784 bytes...
37
- -> "{\"id\":\"CARD-8EH41211YH683514LKTDM73Q\",\"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-01-25T00:00:00Z\",\"create_time\":\"2015-01-26T23:38:22Z\",\"update_time\":\"2015-01-26T23:38:22Z\",\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/vault/credit-card/CARD-8EH41211YH683514LKTDM73Q\",\"rel\":\"self\",\"method\":\"GET\"},{\"href\":\"https://api.sandbox.paypal.com/v1/vault/credit-card/CARD-8EH41211YH683514LKTDM73Q\",\"rel\":\"delete\",\"method\":\"DELETE\"},{\"href\":\"https://api.sandbox.paypal.com/v1/vault/credit-card/CARD-8EH41211YH683514LKTDM73Q\",\"rel\":\"patch\",\"method\":\"PATCH\"}]}"
38
- read 784 bytes
39
- Conn keep-alive
40
- opening connection to api.sandbox.paypal.com:443...
41
- opened
42
- starting SSL for api.sandbox.paypal.com:443...
43
- SSL established
44
- <- "POST /v1/vault/credit-card HTTP/1.1\r\nX-Paypal-Sandbox-Email-Address: Platform.sdk.seller@gmail.com\r\nAuthorization: Bearer A015Wzv2g.FBt8R8lMLiC29HZVC3BHrQNHvOJa1fDg9TaIQ\r\nContent-Type: application/json\r\nUser-Agent: PayPalSDK/PayPal-Ruby-SDK 1.0.0 (paypal-sdk-core 0.3.1; ruby 2.1.2p95-x86_64-darwin13.0)\r\nPaypal-Request-Id: f038736d-035a-4868-a010-4795d2a63d56\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"
45
- <- "{\"number\":\"4417119669820331\",\"type\":\"visa\",\"expire_month\":11,\"expire_year\":2018}"
46
- -> "HTTP/1.1 201 Created\r\n"
47
- -> "Server: Apache-Coyote/1.1\r\n"
48
- -> "PROXY_SERVER_INFO: host=slcsbplatformapiserv3001.slc.paypal.com;threadId=422766\r\n"
49
- -> "Paypal-Debug-Id: 8329db02fbfc9\r\n"
50
- -> "Content-Language: *\r\n"
51
- -> "Date: Mon, 26 Jan 2015 23:38:23 GMT\r\n"
52
- -> "SERVER_INFO: vaultplatformserv:v1.vault.credit-card&CalThreadId=144&TopLevelTxnStartTime=14b289c3ed1&Host=slcsbvaultplatformserv501.slc.paypal.com&pid=26863\r\n"
53
- -> "Content-Type: application/json\r\n"
54
- -> "Content-Length: 626\r\n"
55
- -> "\r\n"
56
- reading 626 bytes...
57
- -> "{\"id\":\"CARD-6E9832748Y127633WKTDM73Y\",\"state\":\"ok\",\"type\":\"visa\",\"number\":\"xxxxxxxxxxxx0331\",\"expire_month\":\"11\",\"expire_year\":\"2018\",\"valid_until\":\"2018-01-25T00:00:00Z\",\"create_time\":\"2015-01-26T23:38:23Z\",\"update_time\":\"2015-01-26T23:38:23Z\",\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/vault/credit-card/CARD-6E9832748Y127633WKTDM73Y\",\"rel\":\"self\",\"method\":\"GET\"},{\"href\":\"https://api.sandbox.paypal.com/v1/vault/credit-card/CARD-6E9832748Y127633WKTDM73Y\",\"rel\":\"delete\",\"method\":\"DELETE\"},{\"href\":\"https://api.sandbox.paypal.com/v1/vault/credit-card/CARD-6E9832748Y127633WKTDM73Y\",\"rel\":\"patch\",\"method\":\"PATCH\"}]}"
58
- read 626 bytes
59
- Conn keep-alive
60
- opening connection to api.sandbox.paypal.com:443...
61
- opened
62
- starting SSL for api.sandbox.paypal.com:443...
63
- SSL established
64
- <- "DELETE /v1/vault/credit-card/CARD-6E9832748Y127633WKTDM73Y HTTP/1.1\r\nX-Paypal-Sandbox-Email-Address: Platform.sdk.seller@gmail.com\r\nAuthorization: Bearer A015Wzv2g.FBt8R8lMLiC29HZVC3BHrQNHvOJa1fDg9TaIQ\r\nContent-Type: application/json\r\nUser-Agent: PayPalSDK/PayPal-Ruby-SDK 1.0.0 (paypal-sdk-core 0.3.1; 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"
65
- -> "HTTP/1.1 204 No Content\r\n"
66
- -> "Server: Apache-Coyote/1.1\r\n"
67
- -> "PROXY_SERVER_INFO: host=slcsbplatformapiserv3001.slc.paypal.com;threadId=374349\r\n"
68
- -> "Paypal-Debug-Id: 9c6c8f0efc077\r\n"
69
- -> "Content-Language: *\r\n"
70
- -> "Date: Mon, 26 Jan 2015 23:38:23 GMT\r\n"
71
- -> "SERVER_INFO: vaultplatformserv:v1.vault.credit-card&CalThreadId=144&TopLevelTxnStartTime=14b289c412f&Host=slcsbvaultplatformserv501.slc.paypal.com&pid=26863\r\n"
72
- -> "\r\n"
73
- Conn keep-alive
74
- opening connection to api.sandbox.paypal.com:443...
75
- opened
76
- starting SSL for api.sandbox.paypal.com:443...
77
- SSL established
78
- <- "POST /v1/vault/credit-card HTTP/1.1\r\nX-Paypal-Sandbox-Email-Address: Platform.sdk.seller@gmail.com\r\nAuthorization: Bearer A015Wzv2g.FBt8R8lMLiC29HZVC3BHrQNHvOJa1fDg9TaIQ\r\nContent-Type: application/json\r\nUser-Agent: PayPalSDK/PayPal-Ruby-SDK 1.0.0 (paypal-sdk-core 0.3.1; ruby 2.1.2p95-x86_64-darwin13.0)\r\nPaypal-Request-Id: d74311bb-87da-459a-9781-b41a160e0e63\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"
79
- <- "{\"number\":\"4111111111111111\",\"type\":\"visa\"}"
80
- -> "HTTP/1.1 400 Bad Request\r\n"
81
- -> "Server: Apache-Coyote/1.1\r\n"
82
- -> "PROXY_SERVER_INFO: host=slcsbplatformapiserv3002.slc.paypal.com;threadId=370896\r\n"
83
- -> "Paypal-Debug-Id: 9b33f301f3b03\r\n"
84
- -> "Content-Language: *\r\n"
85
- -> "Date: Mon, 26 Jan 2015 23:38:24 GMT\r\n"
86
- -> "SERVER_INFO: vaultplatformserv:v1.vault.credit-card&CalThreadId=145&TopLevelTxnStartTime=14b289c436b&Host=slcsbvaultplatformserv501.slc.paypal.com&pid=26863\r\n"
87
- -> "Connection: close\r\n"
88
- -> "Content-Type: application/json\r\n"
89
- -> "Content-Length: 300\r\n"
90
- -> "Connection: close\r\n"
91
- -> "\r\n"
92
- reading 300 bytes...
93
- -> "{\"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\":\"9b33f301f3b03\"}"
94
- read 300 bytes
95
- Conn close
@@ -2,132 +2,40 @@ 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/payments/payment HTTP/1.1\r\nX-Paypal-Sandbox-Email-Address: Platform.sdk.seller@gmail.com\r\nAuthorization: Bearer A015sNxcVEuJGuqxbp8gWg5ytHVFjZERr0GRQ7XwNfL5s-c\r\nContent-Type: application/json\r\nUser-Agent: PayPalSDK/sdk-core-ruby 0.3.1 (paypal-sdk-core 0.3.1; 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\nContent-Length: 286\r\n\r\n"
6
- <- "{\"intent\":\"sale\",\"payer\":{\"payment_method\":\"credit_card\",\"funding_instruments\":[{\"credit_card\":{\"type\":\"visa\",\"number\":\"4417119669820331\",\"expire_month\":\"11\",\"expire_year\":\"2018\",\"first_name\":\"Joe\",\"last_name\":\"Shopper\"}}]},\"transactions\":[{\"amount\":{\"total\":\"7.47\",\"currency\":\"USD\"}}]}"
7
- -> "HTTP/1.1 201 Created\r\n"
8
- -> "Server: Apache-Coyote/1.1\r\n"
9
- -> "PROXY_SERVER_INFO: host=slcsbplatformapiserv3001.slc.paypal.com;threadId=374562\r\n"
10
- -> "Paypal-Debug-Id: 99ae834b04c3b\r\n"
11
- -> "SERVER_INFO: paymentsplatformserv:v1.payments.payment&CalThreadId=206&TopLevelTxnStartTime=14b27d3184b&Host=slcsbpaymentsplatformserv3001.slc.paypal.com&pid=22725\r\n"
12
- -> "Content-Language: *\r\n"
13
- -> "Date: Mon, 26 Jan 2015 19:59:05 GMT\r\n"
14
- -> "Content-Type: application/json\r\n"
15
- -> "Content-Length: 1176\r\n"
16
- -> "\r\n"
17
- reading 1176 bytes...
18
- -> "{\"id\":\"PAY-0HK26041BK876242NKTDJY4A\",\"create_time\":\"2015-01-26T19:58:40Z\",\"update_time\":\"2015-01-26T19:59:05Z\",\"state\":\"approved\",\"intent\":\"sale\",\"payer\":{\"payment_method\":\"credit_card\",\"funding_instruments\":[{\"credit_card\":{\"type\":\"visa\",\"number\":\"xxxxxxxxxxxx0331\",\"expire_month\":\"11\",\"expire_year\":\"2018\",\"first_name\":\"Joe\",\"last_name\":\"Shopper\"}}]},\"transactions\":[{\"amount\":{\"total\":\"7.47\",\"currency\":\"USD\",\"details\":{\"subtotal\":\"7.47\"}},\"related_resources\":[{\"sale\":{\"id\":\"99T986810N230144S\",\"create_time\":\"2015-01-26T19:58:40Z\",\"update_time\":\"2015-01-26T19:59:06Z\",\"amount\":{\"total\":\"7.47\",\"currency\":\"USD\"},\"state\":\"completed\",\"parent_payment\":\"PAY-0HK26041BK876242NKTDJY4A\",\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/payments/sale/99T986810N230144S\",\"rel\":\"self\",\"method\":\"GET\"},{\"href\":\"https://api.sandbox.paypal.com/v1/payments/sale/99T986810N230144S/refund\",\"rel\":\"refund\",\"method\":\"POST\"},{\"href\":\"https://api.sandbox.paypal.com/v1/payments/payment/PAY-0HK26041BK876242NKTDJY4A\",\"rel\":\"parent_payment\",\"method\":\"GET\"}]}}]}],\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/payments/payment/PAY-0HK26041BK876242NKTDJY4A\",\"rel\":\"self\",\"method\":\"GET\"}]}"
19
- read 1176 bytes
20
- Conn keep-alive
21
- opening connection to api.sandbox.paypal.com:443...
22
- opened
23
- starting SSL for api.sandbox.paypal.com:443...
24
- SSL established
25
- <- "GET /v1/payments/payment?count=10 HTTP/1.1\r\nX-Paypal-Sandbox-Email-Address: Platform.sdk.seller@gmail.com\r\nAuthorization: Bearer A015sNxcVEuJGuqxbp8gWg5ytHVFjZERr0GRQ7XwNfL5s-c\r\nContent-Type: application/json\r\nUser-Agent: PayPalSDK/sdk-core-ruby 0.3.1 (paypal-sdk-core 0.3.1; 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"
26
- -> "HTTP/1.1 200 OK\r\n"
27
- -> "Server: Apache-Coyote/1.1\r\n"
28
- -> "PROXY_SERVER_INFO: host=slcsbplatformapiserv3002.slc.paypal.com;threadId=415614\r\n"
29
- -> "Paypal-Debug-Id: ca8ee0440630d\r\n"
30
- -> "SERVER_INFO: paymentsplatformserv:v1.payments.payment&CalThreadId=3846&TopLevelTxnStartTime=14b27d37d1d&Host=slcsbpaymentsplatformserv3001.slc.paypal.com&pid=22725\r\n"
31
- -> "Content-Language: *\r\n"
32
- -> "Date: Mon, 26 Jan 2015 19:59:19 GMT\r\n"
33
- -> "Content-Type: application/json\r\n"
34
- -> "Transfer-Encoding: chunked\r\n"
35
- -> "\r\n"
36
- -> "2000\r\n"
37
- reading 8192 bytes...
38
- -> "{\"payments\":[{\"id\":\"PAY-0HK26041BK876242NKTDJY4A\",\"create_time\":\"2015-01-26T19:58:40Z\",\"update_time\":\"2015-01-26T19:59:05Z\",\"state\":\"approved\",\"intent\":\"sale\",\"payer\":{\"payment_method\":\"credit_card\",\"funding_instruments\":[{\"credit_card\":{\"type\":\"visa\",\"number\":\"xxxxxxxxxxxx0331\",\"expire_month\":\"11\",\"expire_year\":\"2018\",\"first_name\":\"Joe\",\"last_name\":\"Shopper\"}}]},\"transactions\":[{\"amount\":{\"total\":\"7.47\",\"currency\":\"USD\",\"details\":{\"subtotal\":\"7.47\"}},\"related_resources\":[{\"sale\":{\"id\":\"99T986810N230144S\",\"create_time\":\"2015-01-26T19:58:40Z\",\"update_time\":\"2015-01-26T19:59:06Z\",\"amount\":{\"total\":\"7.47\",\"currency\":\"USD\"},\"state\":\"completed\",\"parent_payment\":\"PAY-0HK26041BK876242NKTDJY4A\",\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/payments/sale/99T986810N230144S\",\"rel\":\"self\",\"method\":\"GET\"},{\"href\":\"https://api.sandbox.paypal.com/v1/payments/sale/99T986810N230144S/refund\",\"rel\":\"refund\",\"method\":\"POST\"},{\"href\":\"https://api.sandbox.paypal.com/v1/payments/payment/PAY-0HK26041BK876242NKTDJY4A\",\"rel\":\"parent_payment\",\"method\":\"GET\"}]}}]}],\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/payments/payment/PAY-0HK26041BK876242NKTDJY4A\",\"rel\":\"self\",\"method\":\"GET\"}]},{\"id\":\"PAY-45N073335H301674BKTDJYLQ\",\"create_time\":\"2015-01-26T19:57:34Z\",\"update_time\":\"2015-01-26T19:57:54Z\",\"state\":\"approved\",\"intent\":\"sale\",\"payer\":{\"payment_method\":\"credit_card\",\"funding_instruments\":[{\"credit_card\":{\"type\":\"visa\",\"number\":\"xxxxxxxxxxxx0331\",\"expire_month\":\"1\",\"expire_year\":\"2015\",\"first_name\":\"test\",\"last_name\":\"test\"}}]},\"transactions\":[{\"amount\":{\"total\":\"8.00\",\"currency\":\"USD\",\"details\":{\"subtotal\":\"8.00\"}},\"description\":\"Transaction for South Dakota Tracs Crash Report.\",\"related_resources\":[{\"sale\":{\"id\":\"09C17155GG552854V\",\"create_time\":\"2015-01-26T19:57:34Z\",\"update_time\":\"2015-01-26T19:57:54Z\",\"amount\":{\"total\":\"8.00\",\"currency\":\"USD\"},\"state\":\"completed\",\"parent_payment\":\"PAY-45N073335H301674BKTDJYLQ\",\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/payments/sale/09C17155GG552854V\",\"rel\":\"self\",\"method\":\"GET\"},{\"href\":\"https://api.sandbox.paypal.com/v1/payments/sale/09C17155GG552854V/refund\",\"rel\":\"refund\",\"method\":\"POST\"},{\"href\":\"https://api.sandbox.paypal.com/v1/payments/payment/PAY-45N073335H301674BKTDJYLQ\",\"rel\":\"parent_payment\",\"method\":\"GET\"}]}}]}],\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/payments/payment/PAY-45N073335H301674BKTDJYLQ\",\"rel\":\"self\",\"method\":\"GET\"}]},{\"id\":\"PAY-92D80148F0212810HKTDI5SY\",\"create_time\":\"2015-01-26T19:00:27Z\",\"update_time\":\"2015-01-26T19:00:52Z\",\"state\":\"approved\",\"intent\":\"sale\",\"payer\":{\"payment_method\":\"credit_card\",\"funding_instruments\":[{\"credit_card\":{\"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\"}}}]},\"transactions\":[{\"amount\":{\"total\":\"7.47\",\"currency\":\"USD\",\"details\":{\"subtotal\":\"7.47\"}},\"description\":\"This is the payment transaction description.\",\"related_resources\":[{\"sale\":{\"id\":\"7LL39319SX4999041\",\"create_time\":\"2015-01-26T19:00:27Z\",\"update_time\":\"2015-01-26T19:00:52Z\",\"amount\":{\"total\":\"7.47\",\"currency\":\"USD\"},\"state\":\"refunded\",\"parent_payment\":\"PAY-92D80148F0212810HKTDI5SY\",\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/payments/sale/7LL39319SX4999041\",\"rel\":\"self\",\"method\":\"GET\"},{\"href\":\"https://api.sandbox.paypal.com/v1/payments/sale/7LL39319SX4999041/refund\",\"rel\":\"refund\",\"method\":\"POST\"},{\"href\":\"https://api.sandbox.paypal.com/v1/payments/payment/PAY-92D80148F0212810HKTDI5SY\",\"rel\":\"parent_payment\",\"method\":\"GET\"}]}},{\"refund\":{\"id\":\"7BK01278LV509382W\",\"create_time\":\"2015-01-26T19:00:52Z\",\"update_time\":\"2015-01-26T19:00:52Z\",\"state\":\"completed\",\"amount\":{\"total\":\"-7.47\",\"currency\":\"USD\"},\"sale_id\":\"7LL39319SX4999041\",\"parent_payment\":\"PAY-92D80148F0212810HKTDI5SY\",\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/payments/refund/7BK01278LV509382W\",\"rel\":\"self\",\"method\":\"GET\"},{\"href\":\"https://api.sandbox.paypal.com/v1/payments/payment/PAY-92D80148F0212810HKTDI5SY\",\"rel\":\"parent_payment\",\"method\":\"GET\"},{\"href\":\"https://api.sandbox.paypal.com/v1/payments/sale/7LL39319SX4999041\",\"rel\":\"sale\",\"method\":\"GET\"}]}}]}],\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/payments/payment/PAY-92D80148F0212810HKTDI5SY\",\"rel\":\"self\",\"method\":\"GET\"}]},{\"id\":\"PAY-10B69903JH1072821KTDIPCY\",\"create_time\":\"2015-01-26T18:29:31Z\",\"update_time\":\"2015-01-26T18:29:58Z\",\"state\":\"approved\",\"intent\":\"sale\",\"payer\":{\"payment_method\":\"paypal\",\"status\":\"VERIFIED\",\"payer_info\":{\"email\":\"nmehta6@wellpledge.com\",\"first_name\":\"nachiket\",\"last_name\":\"mehta\",\"payer_id\":\"XWDD75FTGHJLN\",\"shipping_address\":{\"line1\":\"1 Main St\",\"city\":\"San Jose\",\"state\":\"CA\",\"postal_code\":\"95131\",\"country_code\":\"US\",\"recipient_name\":\"nachiket mehta\"}}},\"transactions\":[{\"amount\":{\"total\":\"100.00\",\"currency\":\"USD\",\"details\":{\"subtotal\":\"100.00\"}},\"description\":\"Pledge\",\"related_resources\":[{\"sale\":{\"id\":\"3W375242JL947521F\",\"create_time\":\"2015-01-26T18:29:31Z\",\"update_time\":\"2015-01-26T18:29:58Z\",\"amount\":{\"total\":\"100.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-10B69903JH1072821KTDIPCY\",\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/payments/sale/3W375242JL947521F\",\"rel\":\"self\",\"method\":\"GET\"},{\"href\":\"https://api.sandbox.paypal.com/v1/payments/sale/3W375242JL947521F/refund\",\"rel\":\"refund\",\"method\":\"POST\"},{\"href\":\"https://api.sandbox.paypal.com/v1/payments/payment/PAY-10B69903JH1072821KTDIPCY\",\"rel\":\"parent_payment\",\"method\":\"GET\"}]}}]}],\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/payments/payment/PAY-10B69903JH1072821KTDIPCY\",\"rel\":\"self\",\"method\":\"GET\"}]},{\"id\":\"PAY-41S95619LR639784UKTDIMSQ\",\"create_time\":\"2015-01-26T18:24:10Z\",\"update_time\":\"2015-01-26T18:24:50Z\",\"state\":\"approved\",\"intent\":\"sale\",\"payer\":{\"payment_method\":\"paypal\",\"status\":\"VERIFIED\",\"payer_info\":{\"email\":\"nmehta6@wellpledge.com\",\"first_name\":\"nachiket\",\"last_name\":\"mehta\",\"payer_id\":\"XWDD75FTGHJLN\",\"shipping_address\":{\"line1\":\"1 Main St\",\"city\":\"San Jose\",\"state\":\"CA\",\"postal_code\":\"95131\",\"country_code\":\"US\",\"recipient_name\":\"nachiket mehta\"}}},\"transactions\":[{\"amount\":{\"total\":\"5.00\",\"currency\":\"USD\",\"details\":{\"subtotal\":\"5.00\"}},\"description\":\"Pledge\",\"related_resources\":[{\"sale\":{\"id\":\"56V10528UY3057224\",\"create_time\":\"2015-01-26T18:24:10Z\",\"update_time\":\"2015-01-26T18:24:50Z\",\"amount\":{\"total\":\"5.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-41S95619LR639784UKTDIMSQ\",\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/payments/sale/56V10528UY3057224\",\"rel\":\"self\",\"method\":\"GET\"},{\"href\":\"https://api.sandbox.paypal.com/v1/payments/sale/56V10528UY3057224/refund\",\"rel\":\"refund\",\"method\":\"POST\"},{\"href\":\"https://api.sandbox.paypal.com/v1/payments/payment/PAY-41S95619LR639784UKTDIMSQ\",\"rel\":\"parent_payment\",\"method\":\"GET\"}]}}]}],\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/payments/payment/PAY-41S95619LR639784UKTDIMSQ\",\"rel\":\"self\",\"method\":\"GET\"}]},{\"id\":\"PAY-50P28946RR561462GKTDHK5Y\",\"create_time\":\"2015-01-26T17:12:23Z\",\"update_time\":\"2015-01-26T17:12:25Z\",\"state\":\"approved\",\"intent\":\"sale\",\"payer\":{\"payment_method\":\"credit_card\",\"funding_instruments\":[{\"credit_card\":{\"type\":\"visa\",\"number\":\"xxxxxxxxxxxx9693\",\"expire_month\":\"1\",\"expire_year\":\"2019\",\"first_name\":\"Test\",\"last_name\":\"Test\"}}]},\"transactions\":[{\"amount\":{\"total\":\"59.15\",\"currency\":\"USD\",\"details\":{\"subtotal\":\"59.15\"}},\"description\":\"Payment for order No. 76EE2502-B26A-46F1-BD50-8BE396D8BD57\",\"related_resources\":[{\"sale\":{\"id\":\"4J494696UH2097506\",\"create_time\":\"2015-01-26T17:12:23Z\",\"update_time\":\"2015-01-26T17:12:25Z\",\"amount\":{\"total\":\"59.15\",\"currency\":\"USD\"},\"state\":\"completed\",\"parent_payment\":\"PAY-50P28946RR561462GKTDHK5Y\",\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/payments/sale/4J494696UH2097506\",\"rel\""
39
- read 8192 bytes
40
- reading 2 bytes...
41
- -> "\r\n"
42
- read 2 bytes
43
- -> "14e6\r\n"
44
- reading 5350 bytes...
45
- -> ":\"self\",\"method\":\"GET\"},{\"href\":\"https://api.sandbox.paypal.com/v1/payments/sale/4J494696UH2097506/refund\",\"rel\":\"refund\",\"method\":\"POST\"},{\"href\":\"https://api.sandbox.paypal.com/v1/payments/payment/PAY-50P28946RR561462GKTDHK5Y\",\"rel\":\"parent_payment\",\"method\":\"GET\"}]}}]}],\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/payments/payment/PAY-50P28"
46
- -> "946RR561462GKTDHK5Y\",\"rel\":\"self\",\"method\":\"GET\"}]},{\"id\":\"PAY-38J73169NH225341CKTDHGDQ\",\"create_time\":\"2015-01-26T17:02:06Z\",\"update_time\":\"2015-01-26T17:02:08Z\",\"state\":\"approved\",\"intent\":\"sale\",\"payer\":{\"payment_method\":\"credit_card\",\"funding_instruments\":[{\"credit_card\":{\"type\":\"visa\",\"number\":\"xxxxxxxxxxxx9693\",\"expire_month\":\"1\",\"expire_year\":\"2023\",\"first_name\":\"Test\",\"last_name\":\"Test\"}}]},\"transactions\":[{\"amount\":{\"total\":\"111.94\",\"currency\":\"USD\",\"details\":{\"subtotal\":\"111.94\"}},\"description\":\"Payment for order No. 2BC9DB90-BE2B-40D4-A774-52D02DAA9947\",\"related_resources\":[{\"sale\":{\"id\":\"2K6603165A1419111\",\"create_time\":\"2015-01-26T17:02:06Z\",\"update_time\":\"2015-01-26T17:02:08Z\",\"amount\":{\"total\":\"111.94\",\"currency\":\"USD\"},\"state\":\"completed\",\"parent_payment\":\"PAY-38J73169NH225341CKTDHGDQ\",\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/payments/sale/2K6603165A1419111\",\"rel\":\"self\",\"method\":\"GET\"},{\"href\":\"https://api.sandbox.paypal.com/v1/payments/sale/2K6603165A1419111/refund\",\"rel\":\"refund\",\"method\":\"POST\"},{\"href\":\"https://api.sandbox.paypal.com/v1/payments/payment/PAY-38J73169NH225341CKTDHGDQ\",\"rel\":\"parent_payment\",\"method\":\"GET\"}]}}]}],\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/payments/payment/PAY-38J73169NH225341CKTDHGDQ\",\"rel\":\"self\",\"method\":\"GET\"}]},{\"id\":\"PAY-28K34334W8115331HKTDG7VY\",\"create_time\":\"2015-01-26T16:48:23Z\",\"update_time\":\"2015-01-26T16:48:25Z\",\"state\":\"approved\",\"intent\":\"sale\",\"payer\":{\"payment_method\":\"credit_card\",\"funding_instruments\":[{\"credit_card\":{\"type\":\"visa\",\"number\":\"xxxxxxxxxxxx2709\",\"expire_month\":\"12\",\"expire_year\":\"2018\",\"first_name\":\"Ash\",\"last_name\":\"Williams\"}}]},\"transactions\":[{\"amount\":{\"total\":\"10.00\",\"currency\":\"USD\",\"details\":{\"subtotal\":\"10.00\"}},\"description\":\"Your Kraken Store Purchase\",\"related_resources\":[{\"sale\":{\"id\":\"07B09156JR787052Y\",\"create_time\":\"2015-01-26T16:48:23Z\",\"update_time\":\"2015-01-26T16:48:25Z\",\"amount\":{\"total\":\"10.00\",\"currency\":\"USD\"},\"state\":\"completed\",\"parent_payment\":\"PAY-28K34334W8115331HKTDG7VY\",\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/payments/sale/07B09156JR787052Y\",\"rel\":\"self\",\"method\":\"GET\"},{\"href\":\"https://api.sandbox.paypal.com/v1/payments/sale/07B09156JR787052Y/refund\",\"rel\":\"refund\",\"method\":\"POST\"},{\"href\":\"https://api.sandbox.paypal.com/v1/payments/payment/PAY-28K34334W8115331HKTDG7VY\",\"rel\":\"parent_payment\",\"method\":\"GET\"}]}}]}],\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/payments/payment/PAY-28K34334W8115331HKTDG7VY\",\"rel\":\"self\",\"method\":\"GET\"}]},{\"id\":\"PAY-5YC95627DE8872136KTDG3EA\",\"create_time\":\"2015-01-26T16:38:40Z\",\"update_time\":\"2015-01-26T16:38:45Z\",\"state\":\"approved\",\"intent\":\"authorize\",\"payer\":{\"payment_method\":\"credit_card\",\"funding_instruments\":[{\"credit_card\":{\"type\":\"amex\",\"number\":\"xxxxxxxxxxx5005\",\"expire_month\":\"8\",\"expire_year\":\"2026\",\"first_name\":\"i\",\"last_name\":\"i\"}}]},\"transactions\":[{\"amount\":{\"total\":\"1.00\",\"currency\":\"USD\",\"details\":{\"subtotal\":\"1.00\"}},\"description\":\"Validation request.\",\"related_resources\":[{\"authorization\":{\"id\":\"1MA07760937486001\",\"create_time\":\"2015-01-26T16:38:40Z\",\"update_time\":\"2015-01-26T16:38:45Z\",\"amount\":{\"total\":\"1.00\",\"currency\":\"USD\",\"details\":{\"subtotal\":\"1.00\"}},\"state\":\"voided\",\"parent_payment\":\"PAY-5YC95627DE8872136KTDG3EA\",\"valid_until\":\"2015-02-24T16:38:40Z\",\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/payments/authorization/1MA07760937486001\",\"rel\":\"self\",\"method\":\"GET\"},{\"href\":\"https://api.sandbox.paypal.com/v1/payments/payment/PAY-5YC95627DE8872136KTDG3EA\",\"rel\":\"parent_payment\",\"method\":\"GET\"}]}}]}],\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/payments/payment/PAY-5YC95627DE8872136KTDG3EA\",\"rel\":\"self\",\"method\":\"GET\"}]},{\"id\":\"PAY-5JX78789RV369420XKTDGY4Q\",\"create_time\":\"2015-01-26T16:33:54Z\",\"update_time\":\"2015-01-26T16:34:14Z\",\"state\":\"approved\",\"intent\":\"sale\",\"payer\":{\"payment_method\":\"credit_card\",\"funding_instruments\":[{\"credit_card\":{\"type\":\"visa\",\"number\":\"xxxxxxxxxxxx0331\",\"expire_month\":\"1\",\"expire_year\":\"2015\",\"first_name\":\"test\",\"last_name\":\"test\"}}]},\"transactions\":[{\"amount\":{\"total\":\"8.00\",\"currency\":\"USD\",\"details\":{\"subtotal\":\"8.00\"}},\"description\":\"Transaction for South Dakota Tracs Crash Report.\",\"related_resources\":[{\"sale\":{\"id\":\"65N64578SJ086052V\",\"create_time\":\"2015-01-26T16:33:54Z\",\"update_time\":\"2015-01-26T16:34:14Z\",\"amount\":{\"total\":\"8.00\",\"currency\":\"USD\"},\"state\":\"completed\",\"parent_payment\":\"PAY-5JX78789RV369420XKTDGY4Q\",\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/payments/sale/65N64578SJ086052V\",\"rel\":\"self\",\"method\":\"GET\"},{\"href\":\"https://api.sandbox.paypal.com/v1/payments/sale/65N64578SJ086052V/refund\",\"rel\":\"refund\",\"method\":\"POST\"},{\"href\":\"https://api.sandbox.paypal.com/v1/payments/payment/PAY-5JX78789RV369420XKTDGY4Q\",\"rel\":\"parent_payment\",\"method\":\"GET\"}]}}]}],\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/payments/payment/PAY-5JX78789RV369420XKTDGY4Q\",\"rel\":\"self\",\"method\":\"GET\"}]}],\"count\":10,\"next_id\":\"PAY-10L26665VD0354626KTDGLNI\"}"
47
- read 5350 bytes
48
- reading 2 bytes...
49
- -> "\r\n"
50
- read 2 bytes
51
- -> "0\r\n"
52
- -> "\r\n"
53
- Conn keep-alive
54
- opening connection to api.sandbox.paypal.com:443...
55
- opened
56
- starting SSL for api.sandbox.paypal.com:443...
57
- SSL established
58
- <- "POST /v1/vault/credit-card HTTP/1.1\r\nX-Paypal-Sandbox-Email-Address: Platform.sdk.seller@gmail.com\r\nAuthorization: Bearer A015ATTrEVx4Rv0emNcK5Uh5u-xmHOqmVeQhTfyo1NVtyTQ\r\nContent-Type: application/json\r\nUser-Agent: PayPalSDK/sdk-core-ruby 0.3.1 (paypal-sdk-core 0.3.1; 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\nContent-Length: 138\r\n\r\n"
59
- <- "{\"type\":\"visa\",\"number\":\"4111111111111111\",\"expire_month\":\"11\",\"expire_year\":\"2018\",\"cvv2\":\"874\",\"first_name\":\"Joe\",\"last_name\":\"Shopper\"}"
60
- -> "HTTP/1.1 201 Created\r\n"
61
- -> "Server: Apache-Coyote/1.1\r\n"
62
- -> "PROXY_SERVER_INFO: host=slcsbplatformapiserv3002.slc.paypal.com;threadId=415614\r\n"
63
- -> "Paypal-Debug-Id: 38bef0de09756\r\n"
64
- -> "Content-Language: *\r\n"
65
- -> "Date: Mon, 26 Jan 2015 19:59:21 GMT\r\n"
66
- -> "SERVER_INFO: vaultplatformserv:v1.vault.credit-card&CalThreadId=138&TopLevelTxnStartTime=14b27d3b772&Host=slcsbvaultplatformserv502.slc.paypal.com&pid=10462\r\n"
67
- -> "Content-Type: application/json\r\n"
68
- -> "Content-Length: 667\r\n"
69
- -> "\r\n"
70
- reading 667 bytes...
71
- -> "{\"id\":\"CARD-6NM00310BP799084BKTDJZGI\",\"state\":\"ok\",\"type\":\"visa\",\"number\":\"xxxxxxxxxxxx1111\",\"expire_month\":\"11\",\"expire_year\":\"2018\",\"first_name\":\"Joe\",\"last_name\":\"Shopper\",\"valid_until\":\"2018-01-25T00:00:00Z\",\"create_time\":\"2015-01-26T19:59:21Z\",\"update_time\":\"2015-01-26T19:59:21Z\",\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/vault/credit-card/CARD-6NM00310BP799084BKTDJZGI\",\"rel\":\"self\",\"method\":\"GET\"},{\"href\":\"https://api.sandbox.paypal.com/v1/vault/credit-card/CARD-6NM00310BP799084BKTDJZGI\",\"rel\":\"delete\",\"method\":\"DELETE\"},{\"href\":\"https://api.sandbox.paypal.com/v1/vault/credit-card/CARD-6NM00310BP799084BKTDJZGI\",\"rel\":\"patch\",\"method\":\"PATCH\"}]}"
72
- read 667 bytes
73
- Conn keep-alive
74
- opening connection to api.sandbox.paypal.com:443...
75
- opened
76
- starting SSL for api.sandbox.paypal.com:443...
77
- SSL established
78
- <- "GET /v1/vault/credit-card/CARD-6NM00310BP799084BKTDJZGI HTTP/1.1\r\nX-Paypal-Sandbox-Email-Address: Platform.sdk.seller@gmail.com\r\nAuthorization: Bearer A015ATTrEVx4Rv0emNcK5Uh5u-xmHOqmVeQhTfyo1NVtyTQ\r\nContent-Type: application/json\r\nUser-Agent: PayPalSDK/sdk-core-ruby 0.3.1 (paypal-sdk-core 0.3.1; 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"
79
- -> "HTTP/1.1 200 OK\r\n"
80
- -> "Server: Apache-Coyote/1.1\r\n"
81
- -> "PROXY_SERVER_INFO: host=slcsbplatformapiserv3002.slc.paypal.com;threadId=415614\r\n"
82
- -> "Paypal-Debug-Id: 9639a1aa09943\r\n"
83
- -> "Content-Language: *\r\n"
84
- -> "Date: Mon, 26 Jan 2015 19:59:21 GMT\r\n"
85
- -> "SERVER_INFO: vaultplatformserv:v1.vault.credit-card&CalThreadId=138&TopLevelTxnStartTime=14b27d3b977&Host=slcsbvaultplatformserv502.slc.paypal.com&pid=10462\r\n"
86
- -> "Content-Type: application/json\r\n"
87
- -> "Content-Length: 667\r\n"
88
- -> "\r\n"
89
- reading 667 bytes...
90
- -> "{\"id\":\"CARD-6NM00310BP799084BKTDJZGI\",\"state\":\"ok\",\"type\":\"visa\",\"number\":\"xxxxxxxxxxxx1111\",\"expire_month\":\"11\",\"expire_year\":\"2018\",\"first_name\":\"Joe\",\"last_name\":\"Shopper\",\"valid_until\":\"2018-01-25T00:00:00Z\",\"create_time\":\"2015-01-26T19:59:21Z\",\"update_time\":\"2015-01-26T19:59:21Z\",\"links\":[{\"href\":\"https://api.sandbox.paypal.com/v1/vault/credit-card/CARD-6NM00310BP799084BKTDJZGI\",\"rel\":\"self\",\"method\":\"GET\"},{\"href\":\"https://api.sandbox.paypal.com/v1/vault/credit-card/CARD-6NM00310BP799084BKTDJZGI\",\"rel\":\"delete\",\"method\":\"DELETE\"},{\"href\":\"https://api.sandbox.paypal.com/v1/vault/credit-card/CARD-6NM00310BP799084BKTDJZGI\",\"rel\":\"patch\",\"method\":\"PATCH\"}]}"
91
- read 667 bytes
92
- Conn keep-alive
93
- opening connection to api.sandbox.paypal.com:443...
94
- opened
95
- starting SSL for api.sandbox.paypal.com:443...
96
- SSL established
97
- <- "GET /v1/payments/payment/PAY-1234 HTTP/1.1\r\nX-Paypal-Sandbox-Email-Address: Platform.sdk.seller@gmail.com\r\nAuthorization: Bearer A015sNxcVEuJGuqxbp8gWg5ytHVFjZERr0GRQ7XwNfL5s-c\r\nContent-Type: application/json\r\nUser-Agent: PayPalSDK/sdk-core-ruby 0.3.1 (paypal-sdk-core 0.3.1; 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"
5
+ <- "GET /v1/payments/payment/PAY-1234 HTTP/1.1\r\nX-Paypal-Sandbox-Email-Address: Platform.sdk.seller@gmail.com\r\nAuthorization: Bearer A0151s9G9kwbT-QvgYpDIZWWzsYqAvuryWr-4xXfS8BOxEE\r\nContent-Type: application/json\r\nUser-Agent: PayPalSDK/rest-sdk-ruby 1.1.0 (paypal-sdk-core 1.1.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"
98
6
  -> "HTTP/1.1 404 Not Found\r\n"
99
7
  -> "Server: Apache-Coyote/1.1\r\n"
100
- -> "PROXY_SERVER_INFO: host=slcsbplatformapiserv3001.slc.paypal.com;threadId=424366\r\n"
101
- -> "Paypal-Debug-Id: 275ebe840ef65\r\n"
102
- -> "SERVER_INFO: paymentsplatformserv:v1.payments.payment&CalThreadId=679&TopLevelTxnStartTime=14b27d3bb76&Host=slcsbpaymentsplatformserv3002.slc.paypal.com&pid=15580\r\n"
8
+ -> "PROXY_SERVER_INFO: host=slcsbplatformapiserv3001.slc.paypal.com;threadId=424385\r\n"
9
+ -> "Paypal-Debug-Id: 6eb9d00b5fc9c\r\n"
10
+ -> "SERVER_INFO: paymentsplatformserv:v1.payments.payment&CalThreadId=173&TopLevelTxnStartTime=14b55b24abc&Host=slcsbpaymentsplatformserv3002.slc.paypal.com&pid=15580\r\n"
103
11
  -> "Content-Language: *\r\n"
104
- -> "Date: Mon, 26 Jan 2015 19:59:21 GMT\r\n"
12
+ -> "Date: Wed, 04 Feb 2015 17:45:22 GMT\r\n"
105
13
  -> "Content-Type: application/json\r\n"
106
14
  -> "Content-Length: 207\r\n"
107
15
  -> "\r\n"
108
16
  reading 207 bytes...
109
- -> "{\"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\":\"275ebe840ef65\"}"
17
+ -> "{\"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\":\"6eb9d00b5fc9c\"}"
110
18
  read 207 bytes
111
19
  Conn keep-alive
112
20
  opening connection to api.sandbox.paypal.com:443...
113
21
  opened
114
22
  starting SSL for api.sandbox.paypal.com:443...
115
23
  SSL established
116
- <- "POST /v1/payments/payment HTTP/1.1\r\nX-Paypal-Sandbox-Email-Address: Platform.sdk.seller@gmail.com\r\nAuthorization: Bearer A015sNxcVEuJGuqxbp8gWg5ytHVFjZERr0GRQ7XwNfL5s-c\r\nContent-Type: application/json\r\nUser-Agent: PayPalSDK/sdk-core-ruby 0.3.1 (paypal-sdk-core 0.3.1; 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\nContent-Length: 2\r\n\r\n"
24
+ <- "POST /v1/payments/payment HTTP/1.1\r\nX-Paypal-Sandbox-Email-Address: Platform.sdk.seller@gmail.com\r\nAuthorization: Bearer A0151s9G9kwbT-QvgYpDIZWWzsYqAvuryWr-4xXfS8BOxEE\r\nContent-Type: application/json\r\nUser-Agent: PayPalSDK/rest-sdk-ruby 1.1.0 (paypal-sdk-core 1.1.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\nContent-Length: 2\r\n\r\n"
117
25
  <- "{}"
118
26
  -> "HTTP/1.1 400 Bad Request\r\n"
119
27
  -> "Server: Apache-Coyote/1.1\r\n"
120
- -> "PROXY_SERVER_INFO: host=slcsbplatformapiserv3002.slc.paypal.com;threadId=370782\r\n"
121
- -> "Paypal-Debug-Id: 1fee815a09cc5\r\n"
122
- -> "SERVER_INFO: paymentsplatformserv:v1.payments.payment&CalThreadId=90&TopLevelTxnStartTime=14b27d3bd23&Host=slcsbpaymentsplatformserv3001.slc.paypal.com&pid=22725\r\n"
28
+ -> "PROXY_SERVER_INFO: host=slcsbplatformapiserv3002.slc.paypal.com;threadId=370470\r\n"
29
+ -> "Paypal-Debug-Id: b8c9adce5c2d1\r\n"
30
+ -> "SERVER_INFO: paymentsplatformserv:v1.payments.payment&CalThreadId=90&TopLevelTxnStartTime=14b55b24c7e&Host=slcsbpaymentsplatformserv3001.slc.paypal.com&pid=22725\r\n"
123
31
  -> "Content-Language: *\r\n"
124
- -> "Date: Mon, 26 Jan 2015 19:59:22 GMT\r\n"
32
+ -> "Date: Wed, 04 Feb 2015 17:45:22 GMT\r\n"
125
33
  -> "Connection: close\r\n"
126
34
  -> "Content-Type: application/json\r\n"
127
35
  -> "Content-Length: 306\r\n"
128
36
  -> "Connection: close\r\n"
129
37
  -> "\r\n"
130
38
  reading 306 bytes...
131
- -> "{\"name\":\"VALIDATION_ERROR\",\"details\":[{\"field\":\"payer\",\"issue\":\"Required field missing\"},{\"field\":\"intent\",\"issue\":\"Required field missing\"}],\"message\":\"Invalid request - see details\",\"information_link\":\"https://developer.paypal.com/webapps/developer/docs/api/#VALIDATION_ERROR\",\"debug_id\":\"1fee815a09cc5\"}"
39
+ -> "{\"name\":\"VALIDATION_ERROR\",\"details\":[{\"field\":\"payer\",\"issue\":\"Required field missing\"},{\"field\":\"intent\",\"issue\":\"Required field missing\"}],\"message\":\"Invalid request - see details\",\"information_link\":\"https://developer.paypal.com/webapps/developer/docs/api/#VALIDATION_ERROR\",\"debug_id\":\"b8c9adce5c2d1\"}"
132
40
  read 306 bytes
133
41
  Conn close
@@ -0,0 +1,49 @@
1
+ require "spec_helper"
2
+
3
+ describe "Payouts", :integration => true do
4
+
5
+ PayoutAttributes = {
6
+ :sender_batch_header => {
7
+ :sender_batch_id => SecureRandom.hex(8),
8
+ :email_subject => 'You have a Payout!'
9
+ },
10
+ :items => [
11
+ {
12
+ :recipient_type => 'EMAIL',
13
+ :amount => {
14
+ :value => '1.0',
15
+ :currency => 'USD'
16
+ },
17
+ :note => 'Thanks for your patronage!',
18
+ :sender_item_id => '2014031400023',
19
+ :receiver => 'shirt-supplier-one@mail.com'
20
+ }
21
+ ]
22
+ }
23
+
24
+ it "create payout sync" do
25
+ $payout = PayPal::SDK::REST::Payout.new(PayoutAttributes)
26
+ $payout_batch = $payout.create(true)
27
+ expect($payout_batch).to be_truthy
28
+ end
29
+
30
+ it "get payout batch status" do
31
+ $result = PayPal::SDK::REST::Payout.get($payout_batch.batch_header.payout_batch_id)
32
+ expect($result).to be_a PayPal::SDK::REST::PayoutBatch
33
+ expect($payout_batch.batch_header.payout_batch_id).to eql $result.batch_header.payout_batch_id
34
+ end
35
+
36
+ it "get payout item status" do
37
+ $payout_item_details= PayoutItem.get($payout_batch.items[0].payout_item_id)
38
+ expect($payout_item_details).to be_a PayPal::SDK::REST::PayoutItemDetails
39
+ expect($payout_item_details.payout_item_id).to eql $payout_batch.items[0].payout_item_id
40
+ end
41
+
42
+ it "cancel unclaimed payouts" do
43
+ $payout_item_details= PayoutItem.cancel($payout_batch.items[0].payout_item_id)
44
+ expect($payout_item_details).to be_a PayPal::SDK::REST::PayoutItemDetails
45
+ expect($payout_item_details.payout_item_id).to eql $payout_batch.items[0].payout_item_id
46
+ expect($payout_item_details.transaction_status).to eql 'RETURNED'
47
+ end
48
+
49
+ 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.0.0
4
+ version: 1.1.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-01-27 00:00:00.000000000 Z
11
+ date: 2015-02-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: coveralls
@@ -17,7 +17,7 @@ dependencies:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
- type: :runtime
20
+ type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
@@ -115,7 +115,6 @@ files:
115
115
  - lib/paypal-sdk/rest/api.rb
116
116
  - lib/paypal-sdk/rest/data_types.rb
117
117
  - lib/paypal-sdk/rest/error_hash.rb
118
- - lib/paypal-sdk/rest/extended_data_types.rb
119
118
  - lib/paypal-sdk/rest/get_api.rb
120
119
  - lib/paypal-sdk/rest/request_data_type.rb
121
120
  - lib/paypal-sdk/rest/set_api.rb
@@ -134,6 +133,7 @@ files:
134
133
  - spec/log/http.log
135
134
  - spec/log/rest_http.log
136
135
  - spec/payments_examples_spec.rb
136
+ - spec/payouts_examples_spec.rb
137
137
  - spec/spec_helper.rb
138
138
  - spec/subscription_examples_spec.rb
139
139
  - spec/support/sample_data.rb
@@ -177,6 +177,7 @@ test_files:
177
177
  - spec/log/http.log
178
178
  - spec/log/rest_http.log
179
179
  - spec/payments_examples_spec.rb
180
+ - spec/payouts_examples_spec.rb
180
181
  - spec/spec_helper.rb
181
182
  - spec/subscription_examples_spec.rb
182
183
  - spec/support/sample_data.rb
@@ -1,26 +0,0 @@
1
- module PayPal::SDK
2
- module REST
3
- module DataTypes
4
- class FuturePayment < Payment
5
- def self.exch_token(auth_code)
6
- if auth_code
7
- token = PayPal::SDK::Core::API::REST.new.token(auth_code)
8
- token
9
- end
10
- end
11
-
12
- def create(correlation_id=nil)
13
- path = "v1/payments/payment"
14
- if correlation_id != nil
15
- header = http_header
16
- header = header.merge({
17
- "PAYPAL-CLIENT-METADATA-ID" => correlation_id})
18
- end
19
- response = api.post(path, self.to_hash, http_header)
20
- self.merge!(response)
21
- success?
22
- end
23
- end
24
- end
25
- end
26
- end