moip2 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +18 -0
  3. data/.rspec +4 -0
  4. data/.ruby-gemset +1 -0
  5. data/.ruby-version +1 -0
  6. data/Gemfile +4 -0
  7. data/Guardfile +9 -0
  8. data/LICENSE.txt +22 -0
  9. data/README.md +129 -0
  10. data/Rakefile +1 -0
  11. data/lib/moip2/api.rb +24 -0
  12. data/lib/moip2/auth/basic.rb +19 -0
  13. data/lib/moip2/auth/oauth.rb +18 -0
  14. data/lib/moip2/client.rb +107 -0
  15. data/lib/moip2/customer_api.rb +24 -0
  16. data/lib/moip2/exceptions/invalid_enviroment_error.rb +6 -0
  17. data/lib/moip2/invoice_api.rb +32 -0
  18. data/lib/moip2/keys_api.rb +17 -0
  19. data/lib/moip2/multi_order_api.rb +23 -0
  20. data/lib/moip2/multi_payment_api.rb +17 -0
  21. data/lib/moip2/order_api.rb +25 -0
  22. data/lib/moip2/payment_api.rb +15 -0
  23. data/lib/moip2/resource/customer.rb +16 -0
  24. data/lib/moip2/resource/invoice.rb +14 -0
  25. data/lib/moip2/resource/keys.rb +14 -0
  26. data/lib/moip2/resource/multi_order.rb +25 -0
  27. data/lib/moip2/resource/multi_payment.rb +11 -0
  28. data/lib/moip2/resource/order.rb +25 -0
  29. data/lib/moip2/resource/payment.rb +13 -0
  30. data/lib/moip2/response.rb +20 -0
  31. data/lib/moip2/version.rb +3 -0
  32. data/lib/moip2.rb +74 -0
  33. data/moip2.gemspec +30 -0
  34. data/spec/moip2/api_spec.rb +25 -0
  35. data/spec/moip2/auth/basic_spec.rb +9 -0
  36. data/spec/moip2/auth/oauth_spec.rb +9 -0
  37. data/spec/moip2/client_spec.rb +133 -0
  38. data/spec/moip2/customer_api_spec.rb +152 -0
  39. data/spec/moip2/invoice_spec.rb +95 -0
  40. data/spec/moip2/keys_spec.rb +19 -0
  41. data/spec/moip2/multi_order_api_spec.rb +198 -0
  42. data/spec/moip2/order_api_spec.rb +138 -0
  43. data/spec/moip2/payment_api_spec.rb +43 -0
  44. data/spec/moip2/resource/order_spec.rb +47 -0
  45. data/spec/moip2/response_spec.rb +51 -0
  46. data/spec/moip2_spec.rb +50 -0
  47. data/spec/spec_helper.rb +113 -0
  48. data/vcr_cassettes/create_customer.yml +43 -0
  49. data/vcr_cassettes/create_customer_with_funding_instrument.yml +45 -0
  50. data/vcr_cassettes/create_invoice.yml +42 -0
  51. data/vcr_cassettes/create_mulit_order_success.yml +142 -0
  52. data/vcr_cassettes/create_multi_order_fail.yml +43 -0
  53. data/vcr_cassettes/create_order_fail.yml +43 -0
  54. data/vcr_cassettes/create_order_success.yml +47 -0
  55. data/vcr_cassettes/create_payment_success.yml +39 -0
  56. data/vcr_cassettes/get_customer.yml +42 -0
  57. data/vcr_cassettes/get_invoice.yml +41 -0
  58. data/vcr_cassettes/get_keys.yml +42 -0
  59. data/vcr_cassettes/list_invoices.yml +43 -0
  60. data/vcr_cassettes/show_multi_order.yml +132 -0
  61. data/vcr_cassettes/show_multi_order_not_found.yml +40 -0
  62. data/vcr_cassettes/show_order.yml +43 -0
  63. data/vcr_cassettes/show_order_not_found.yml +38 -0
  64. data/vcr_cassettes/update_invoice.yml +41 -0
  65. data/wercker.yml +48 -0
  66. metadata +238 -0
@@ -0,0 +1,132 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://01010101010101010101010101010101:ABABABABABABABABABABABABABABABABABABABAB@test.moip.com.br/v2/multiorders/MOR-IVKZDU55LXJU
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Content-Type:
11
+ - application/json
12
+ response:
13
+ status:
14
+ code: 200
15
+ message: OK
16
+ headers:
17
+ Server:
18
+ - nginx
19
+ Date:
20
+ - Fri, 27 Feb 2015 15:20:25 GMT
21
+ Content-Type:
22
+ - application/json
23
+ Content-Length:
24
+ - '4108'
25
+ Connection:
26
+ - keep-alive
27
+ Status:
28
+ - 200 OK
29
+ X-Newrelic-App-Data:
30
+ - PxQFUlBXAQoTV1VaDgIEV0YdFGQHBDcQUQxLA1tMXV1dORYzVBJHNQFUZAQUFVFQVThOFAVtGAsRXUJaDRQHB0IRZE1DVUFeRwx2E1UEQSsASxdJISZsGhJIUUwHHQdIXAcOB1BfUVYcUhRAD1tRAQRVDlgEWApWXAIFVUQ+
31
+ Vary:
32
+ - Accept-Encoding
33
+ X-Content-Type-Options:
34
+ - nosniff
35
+ body:
36
+ encoding: ASCII-8BIT
37
+ string: !binary |-
38
+ eyJpZCI6Ik1PUi1JVktaRFU1NUxYSlUiLCJvd25JZCI6Im1ldV9tdWx0aW9y
39
+ ZGVyX2lkIiwic3RhdHVzIjoiQ1JFQVRFRCIsImNyZWF0ZWRBdCI6IjIwMTUt
40
+ MDItMjdUMTI6MDQ6NTUtMDMwMCIsInVwZGF0ZWRBdCI6IiIsImFtb3VudCI6
41
+ eyJjdXJyZW5jeSI6IkJSTCIsInRvdGFsIjo4MDAwfSwib3JkZXJzIjpbeyJp
42
+ ZCI6Ik9SRC1UTEVESlJJQ0NVOEUiLCJvd25JZCI6InBlZGlkb18xX2lkIiwi
43
+ c3RhdHVzIjoiQ1JFQVRFRCIsImNyZWF0ZWRBdCI6IjIwMTUtMDItMjdUMTI6
44
+ MDQ6NTUtMDMwMCIsImFtb3VudCI6eyJ0b3RhbCI6NDAwMCwiZmVlcyI6MCwi
45
+ cmVmdW5kcyI6MCwibGlxdWlkIjowLCJvdGhlclJlY2VpdmVycyI6NDAwMCwi
46
+ Y3VycmVuY3kiOiJCUkwiLCJzdWJ0b3RhbHMiOnsic2hpcHBpbmciOjIwMDAs
47
+ ImFkZGl0aW9uIjowLCJkaXNjb3VudCI6MCwiaXRlbXMiOjIwMDB9fSwiaXRl
48
+ bXMiOlt7InByb2R1Y3QiOiJDYW1pc2EgVmVyZGUgZSBBbWFyZWxvIC0gQnJh
49
+ c2lsIiwicHJpY2UiOjIwMDAsImRldGFpbCI6IlNlbGXDp8OjbyBCcmFzaWxl
50
+ aXJhIiwicXVhbnRpdHkiOjF9XSwiYWRkcmVzc2VzIjpbeyJzdHJlZXQiOiJB
51
+ dmVuaWRhIEZhcmlhIExpbWEiLCJjaXR5IjoiU2FvIFBhdWxvIiwiY29tcGxl
52
+ bWVudCI6IjgiLCJkaXN0cmljdCI6Ikl0YWltIiwiemlwQ29kZSI6IjAxMjM0
53
+ MDAwIiwic3RyZWV0TnVtYmVyIjoiMjkyNyIsInN0YXRlIjoiU1AiLCJ0eXBl
54
+ IjoiQklMTElORyIsImNvdW50cnkiOiJCUkEifV0sImN1c3RvbWVyIjp7Imlk
55
+ IjoiQ1VTLUMzSVoxSVo1MDY5RSIsIm93bklkIjoiY3VzdG9tZXJbMTIzNF0i
56
+ LCJmdWxsbmFtZSI6IkpvYW8gU291c2EiLCJjcmVhdGVkQXQiOiIyMDE1LTAy
57
+ LTI3VDEyOjA0OjU1LTAzMDAiLCJiaXJ0aERhdGUiOiIxOTg4LTEyLTMwVDAw
58
+ OjAwOjAwLTAyMDAiLCJlbWFpbCI6ImpvYW8uc291c2FAZW1haWwuY29tIiwi
59
+ cGhvbmUiOnsiY291bnRyeUNvZGUiOiI1NSIsImFyZWFDb2RlIjoiMTEiLCJu
60
+ dW1iZXIiOiI2Njc3ODg5OSJ9LCJ0YXhEb2N1bWVudCI6eyJ0eXBlIjoiQ1BG
61
+ IiwibnVtYmVyIjoiMjIyMjIyMjIyMjIifSwiYWRkcmVzc2VzIjpbeyJzdHJl
62
+ ZXQiOiJBdmVuaWRhIEZhcmlhIExpbWEiLCJjaXR5IjoiU2FvIFBhdWxvIiwi
63
+ Y29tcGxlbWVudCI6IjgiLCJkaXN0cmljdCI6Ikl0YWltIiwiemlwQ29kZSI6
64
+ IjAxMjM0MDAwIiwic3RyZWV0TnVtYmVyIjoiMjkyNyIsInN0YXRlIjoiU1Ai
65
+ LCJ0eXBlIjoiQklMTElORyIsImNvdW50cnkiOiJCUkEifV0sImJpbGxpbmdB
66
+ ZGRyZXNzIjp7InppcENvZGUiOiIwMTIzNDAwMCIsInN0cmVldCI6IkF2ZW5p
67
+ ZGEgRmFyaWEgTGltYSIsInN0cmVldE51bWJlciI6IjI5MjciLCJjb21wbGVt
68
+ ZW50IjoiOCIsImNpdHkiOiJTYW8gUGF1bG8iLCJkaXN0cmljdCI6Ikl0YWlt
69
+ Iiwic3RhdGUiOiJTUCIsImNvdW50cnkiOiJCUkEifSwiX2xpbmtzIjp7InNl
70
+ bGYiOnsiaHJlZiI6Imh0dHBzOi8vdGVzdC5tb2lwLmNvbS5ici92Mi9jdXN0
71
+ b21lcnMvQ1VTLUMzSVoxSVo1MDY5RSJ9fX0sInBheW1lbnRzIjpbXSwicmVm
72
+ dW5kcyI6W10sImVudHJpZXMiOltdLCJldmVudHMiOlt7ImNyZWF0ZWRBdCI6
73
+ IjIwMTUtMDItMjdUMTI6MDQ6NTUtMDMwMCIsImRlc2NyaXB0aW9uIjoiIiwi
74
+ dHlwZSI6Ik9SREVSLkNSRUFURUQifV0sInJlY2VpdmVycyI6W3siYW1vdW50
75
+ Ijp7ImZlZXMiOjAsInJlZnVuZHMiOjAsInRvdGFsIjo0MDAwfSwibW9pcEFj
76
+ Y291bnQiOnsiZnVsbG5hbWUiOiJMb2ppc3RhIDQgTW9pcCIsImxvZ2luIjoi
77
+ bG9qaXN0YV80QGxhYnMubW9pcC5jb20uYnIiLCJpZCI6Ik1QQS0xSzJSNTFL
78
+ RkwzT1kifSwidHlwZSI6IlBSSU1BUlkifV0sIl9saW5rcyI6eyJzZWxmIjp7
79
+ ImhyZWYiOiJodHRwczovL3Rlc3QubW9pcC5jb20uYnIvdjIvb3JkZXJzL09S
80
+ RC1UTEVESlJJQ0NVOEUifX19LHsiaWQiOiJPUkQtMjVCMDJNOENUS09GIiwi
81
+ b3duSWQiOiJwZWRpZG9fMl9pZCIsInN0YXR1cyI6IkNSRUFURUQiLCJjcmVh
82
+ dGVkQXQiOiIyMDE1LTAyLTI3VDEyOjA0OjU2LTAzMDAiLCJhbW91bnQiOnsi
83
+ dG90YWwiOjQwMDAsImZlZXMiOjAsInJlZnVuZHMiOjAsImxpcXVpZCI6MCwi
84
+ b3RoZXJSZWNlaXZlcnMiOjQwMDAsImN1cnJlbmN5IjoiQlJMIiwic3VidG90
85
+ YWxzIjp7InNoaXBwaW5nIjozMDAwLCJhZGRpdGlvbiI6MCwiZGlzY291bnQi
86
+ OjAsIml0ZW1zIjoxMDAwfX0sIml0ZW1zIjpbeyJwcm9kdWN0IjoiQ2FtaXNh
87
+ IFByZXRhIC0gQWxlbWFuaGEiLCJwcmljZSI6MTAwMCwiZGV0YWlsIjoiQ2Ft
88
+ aXNldGEgZGEgQ29wYSAyMDE0IiwicXVhbnRpdHkiOjF9XSwiYWRkcmVzc2Vz
89
+ IjpbeyJzdHJlZXQiOiJBdmVuaWRhIEZhcmlhIExpbWEiLCJjaXR5IjoiU2Fv
90
+ IFBhdWxvIiwiY29tcGxlbWVudCI6IjgiLCJkaXN0cmljdCI6Ikl0YWltIiwi
91
+ emlwQ29kZSI6IjAxMjM0MDAwIiwic3RyZWV0TnVtYmVyIjoiMjkyNyIsInN0
92
+ YXRlIjoiU1AiLCJ0eXBlIjoiQklMTElORyIsImNvdW50cnkiOiJCUkEifV0s
93
+ ImN1c3RvbWVyIjp7ImlkIjoiQ1VTLVJaNlZaMkk4UVpPWiIsIm93bklkIjoi
94
+ Y3VzdG9tZXJbMTIzNF0iLCJmdWxsbmFtZSI6IkpvYW8gU291c2EiLCJjcmVh
95
+ dGVkQXQiOiIyMDE1LTAyLTI3VDEyOjA0OjU2LTAzMDAiLCJiaXJ0aERhdGUi
96
+ OiIxOTg4LTEyLTMwVDAwOjAwOjAwLTAyMDAiLCJlbWFpbCI6ImpvYW8uc291
97
+ c2FAZW1haWwuY29tIiwicGhvbmUiOnsiY291bnRyeUNvZGUiOiI1NSIsImFy
98
+ ZWFDb2RlIjoiMTEiLCJudW1iZXIiOiI2Njc3ODg5OSJ9LCJ0YXhEb2N1bWVu
99
+ dCI6eyJ0eXBlIjoiQ1BGIiwibnVtYmVyIjoiMjIyMjIyMjIyMjIifSwiYWRk
100
+ cmVzc2VzIjpbeyJzdHJlZXQiOiJBdmVuaWRhIEZhcmlhIExpbWEiLCJjaXR5
101
+ IjoiU2FvIFBhdWxvIiwiY29tcGxlbWVudCI6IjgiLCJkaXN0cmljdCI6Ikl0
102
+ YWltIiwiemlwQ29kZSI6IjAxMjM0MDAwIiwic3RyZWV0TnVtYmVyIjoiMjky
103
+ NyIsInN0YXRlIjoiU1AiLCJ0eXBlIjoiQklMTElORyIsImNvdW50cnkiOiJC
104
+ UkEifV0sImJpbGxpbmdBZGRyZXNzIjp7InppcENvZGUiOiIwMTIzNDAwMCIs
105
+ InN0cmVldCI6IkF2ZW5pZGEgRmFyaWEgTGltYSIsInN0cmVldE51bWJlciI6
106
+ IjI5MjciLCJjb21wbGVtZW50IjoiOCIsImNpdHkiOiJTYW8gUGF1bG8iLCJk
107
+ aXN0cmljdCI6Ikl0YWltIiwic3RhdGUiOiJTUCIsImNvdW50cnkiOiJCUkEi
108
+ fSwiX2xpbmtzIjp7InNlbGYiOnsiaHJlZiI6Imh0dHBzOi8vdGVzdC5tb2lw
109
+ LmNvbS5ici92Mi9jdXN0b21lcnMvQ1VTLVJaNlZaMkk4UVpPWiJ9fX0sInBh
110
+ eW1lbnRzIjpbXSwicmVmdW5kcyI6W10sImVudHJpZXMiOltdLCJldmVudHMi
111
+ Olt7ImNyZWF0ZWRBdCI6IjIwMTUtMDItMjdUMTI6MDQ6NTYtMDMwMCIsImRl
112
+ c2NyaXB0aW9uIjoiIiwidHlwZSI6Ik9SREVSLkNSRUFURUQifV0sInJlY2Vp
113
+ dmVycyI6W3siYW1vdW50Ijp7ImZlZXMiOjAsInJlZnVuZHMiOjAsInRvdGFs
114
+ IjozOTQ1fSwibW9pcEFjY291bnQiOnsiZnVsbG5hbWUiOiJMb2ppc3RhIDMg
115
+ TW9pcCIsImxvZ2luIjoibG9qaXN0YV8zQGxhYnMubW9pcC5jb20uYnIiLCJp
116
+ ZCI6Ik1QQS1JRllSQjFIQkw3M1oifSwidHlwZSI6IlBSSU1BUlkifSx7ImFt
117
+ b3VudCI6eyJyZWZ1bmRzIjowLCJ0b3RhbCI6NTV9LCJtb2lwQWNjb3VudCI6
118
+ eyJmdWxsbmFtZSI6Ik1hcmlhIGRhIFNpbHZhIFNhbnRvcyIsImxvZ2luIjoi
119
+ c2VjdW5kYXJpb18xQGxhYnMubW9pcC5jb20uYnIiLCJpZCI6Ik1QQS1LUUIx
120
+ UUZXUzZRTk0ifSwidHlwZSI6IlNFQ09OREFSWSJ9XSwiX2xpbmtzIjp7InNl
121
+ bGYiOnsiaHJlZiI6Imh0dHBzOi8vdGVzdC5tb2lwLmNvbS5ici92Mi9vcmRl
122
+ cnMvT1JELTI1QjAyTThDVEtPRiJ9fX1dLCJfbGlua3MiOnsic2VsZiI6eyJo
123
+ cmVmIjoiaHR0cHM6Ly90ZXN0Lm1vaXAuY29tLmJyL3YyL29yZGVycy9NT1It
124
+ SVZLWkRVNTVMWEpVIn0sImNoZWNrb3V0Ijp7InBheU9ubGluZUJhbmtEZWJp
125
+ dEl0YXUiOnsicmVkaXJlY3RIcmVmIjoiaHR0cHM6Ly9jaGVja291dC1zYW5k
126
+ Ym94Lm1vaXAuY29tLmJyL2RlYml0L2l0YXUvTU9SLUlWS1pEVTU1TFhKVSJ9
127
+ LCJwYXlDcmVkaXRDYXJkIjp7InJlZGlyZWN0SHJlZiI6Imh0dHBzOi8vY2hl
128
+ Y2tvdXQtc2FuZGJveC5tb2lwLmNvbS5ici9jcmVkaXRjYXJkL01PUi1JVkta
129
+ RFU1NUxYSlUifX19fQ==
130
+ http_version:
131
+ recorded_at: Fri, 27 Feb 2015 15:20:24 GMT
132
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,40 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://01010101010101010101010101010101:ABABABABABABABABABABABABABABABABABABABAB@test.moip.com.br/v2/multiorders/MOR-INVALID
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Content-Type:
11
+ - application/json
12
+ response:
13
+ status:
14
+ code: 404
15
+ message: Not Found
16
+ headers:
17
+ Server:
18
+ - nginx
19
+ Date:
20
+ - Fri, 27 Feb 2015 15:21:40 GMT
21
+ Content-Type:
22
+ - application/json
23
+ Content-Length:
24
+ - '9'
25
+ Connection:
26
+ - keep-alive
27
+ Status:
28
+ - 404 Not Found
29
+ X-Newrelic-App-Data:
30
+ - PxQFUlBXAQoTV1VaDgIEV0YdFGQHBDcQUQxLA1tMXV1dORYzVBJHNQFUZAQUFVFQVThOFAVtGAsRXUJaDRQHB0IRZE1DVUFeRwx2E1UEQSsASxdJISZsGhJIUUwHHQdIVQEBClRWV1ccUhRAWV4AVgtWXAACBwoEVgMGA0Q+
31
+ Vary:
32
+ - Accept-Encoding
33
+ X-Content-Type-Options:
34
+ - nosniff
35
+ body:
36
+ encoding: UTF-8
37
+ string: Not Found
38
+ http_version:
39
+ recorded_at: Fri, 27 Feb 2015 15:21:39 GMT
40
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,43 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://01010101010101010101010101010101:ABABABABABABABABABABABABABABABABABABABAB@test.moip.com.br/v2/orders/ORD-EQE16JGCM52O
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Content-Type:
11
+ - application/json
12
+ response:
13
+ status:
14
+ code: 200
15
+ message: OK
16
+ headers:
17
+ Server:
18
+ - nginx/1.5.2
19
+ Date:
20
+ - Thu, 29 May 2014 01:54:57 GMT
21
+ Content-Type:
22
+ - application/json
23
+ Content-Length:
24
+ - '2205'
25
+ Connection:
26
+ - keep-alive
27
+ Status:
28
+ - 200 OK
29
+ Vary:
30
+ - Accept-Encoding
31
+ X-Content-Type-Options:
32
+ - nosniff
33
+ body:
34
+ encoding: UTF-8
35
+ string: '{"id":"ORD-EQE16JGCM52O","ownId":"sandbox_2_1395095603_1","status":"CREATED","createdAt":"2014-03-17T19:37:19-0300","amount":{"total":15000,"fees":0,"refunds":0,"liquid":0,"otherReceivers":0,"currency":"BRL","subtotals":{"shipping":5000,"addition":0,"discount":0,"items":10000}},"items":[{"product":"Pedido
36
+ 2 de testes Sandbox - 1395095603","detail":"","quantity":1,"price":10000}],"addresses":[{"city":"Sao
37
+ Paulo","complement":"8","district":"Itaim","street":"Avenida Faria Lima","streetNumber":"2927","zipCode":"01234000","state":"SP","type":"BILLING","country":"BRA"}],"customer":{"id":"CUS-G2LOTWNNG04D","ownId":"sandbox_3_1395095603_1","fullname":"Jose
38
+ Silva","birthDate":"1988-12-30","email":"josedasilva@email.com","phone":{"areaCode":"11","countryCode":"55","number":"66778899"},"taxDocument":{"type":"CPF","number":"22222222222"},"addresses":[{"city":"Sao
39
+ Paulo","complement":"8","district":"Itaim","street":"Avenida Faria Lima","streetNumber":"2927","zipCode":"01234000","state":"SP","type":"BILLING","country":"BRA"}],"_links":{"self":{"href":"https://test.moip.com.br/v2/customers/CUS-G2LOTWNNG04D"}}},"payments":[],"refunds":[],"entries":[],"events":[{"createdAt":"2014-03-17T19:37:19-0300","description":"","type":"ORDER.CREATED"}],"receivers":[{"moipAccount":{"fullname":"Moip
40
+ SandBox","login":"integracao@labs.moip.com.br","id":"MPA-CULBBYHD11"},"secondary":false,"amount":{"fees":0,"refunds":0,"total":15000},"payerFee":false,"type":"PRIMARY"}],"_links":{"self":{"href":"https://test.moip.com.br/v2/orders/ORD-EQE16JGCM52O"},"checkout":{"payOnlineBankDebitItau":{"redirectHref":"https://checkout-sandbox.moip.com.br/debit/itau/ORD-EQE16JGCM52O"},"payOnlineBankDebitBB":{"redirectHref":"https://checkout-sandbox.moip.com.br/debit/bancobrasil/ORD-EQE16JGCM52O"},"payCreditCard":{"redirectHref":"https://checkout-sandbox.moip.com.br/creditcard/ORD-EQE16JGCM52O"},"payOnlineBankDebitBradesco":{"redirectHref":"https://checkout-sandbox.moip.com.br/debit/bradesco/ORD-EQE16JGCM52O"},"payBoleto":{"redirectHref":"https://checkout-sandbox.moip.com.br/boleto/ORD-EQE16JGCM52O"},"payOnlineBankDebitBanrisul":{"redirectHref":"https://checkout-sandbox.moip.com.br/debit/banrisul/ORD-EQE16JGCM52O"}}}}'
41
+ http_version:
42
+ recorded_at: Thu, 29 May 2014 01:54:58 GMT
43
+ recorded_with: VCR 2.8.0
@@ -0,0 +1,38 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://01010101010101010101010101010101:ABABABABABABABABABABABABABABABABABABABAB@test.moip.com.br/v2/orders/ORD-INVALID
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Content-Type:
11
+ - application/json
12
+ response:
13
+ status:
14
+ code: 404
15
+ message: Not Found
16
+ headers:
17
+ Server:
18
+ - nginx/1.5.2
19
+ Date:
20
+ - Thu, 29 May 2014 01:54:59 GMT
21
+ Content-Type:
22
+ - application/json
23
+ Content-Length:
24
+ - '9'
25
+ Connection:
26
+ - keep-alive
27
+ Status:
28
+ - 404 Not Found
29
+ Vary:
30
+ - Accept-Encoding
31
+ X-Content-Type-Options:
32
+ - nosniff
33
+ body:
34
+ encoding: UTF-8
35
+ string: Not Found
36
+ http_version:
37
+ recorded_at: Thu, 29 May 2014 01:55:00 GMT
38
+ recorded_with: VCR 2.8.0
@@ -0,0 +1,41 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: put
5
+ uri: https://test.moip.com.br/v2/invoices/INV-4517A209DDA9
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"orderExternalId":"ORD-NLQ916TW81TN","customerExternalId":"CUS-GF45QI98NST1"}'
9
+ headers:
10
+ Content-Type:
11
+ - application/json
12
+ Authorization:
13
+ - OAuth d63tz2xwyu0ewrembove4j5cbv2otpd
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Server:
20
+ - nginx
21
+ Date:
22
+ - Mon, 09 Mar 2015 13:25:34 GMT
23
+ Content-Type:
24
+ - application/json
25
+ Content-Length:
26
+ - '217'
27
+ Connection:
28
+ - keep-alive
29
+ Status:
30
+ - 200 OK
31
+ Via:
32
+ - 1.1 vegur
33
+ X-Content-Type-Options:
34
+ - nosniff
35
+ body:
36
+ encoding: UTF-8
37
+ string: '{"id":"INV-4517A209DDA9","amount":13470,"description":"Assinatura da
38
+ aula de desenho","email":"caio.gama@moip.com.br","orderExternalId":"ORD-NLQ916TW81TN","customerExternalId":"CUS-GF45QI98NST1","type":"subscription"}'
39
+ http_version:
40
+ recorded_at: Mon, 09 Mar 2015 13:25:06 GMT
41
+ recorded_with: VCR 2.9.3
data/wercker.yml ADDED
@@ -0,0 +1,48 @@
1
+ box: wercker/rvm
2
+ # Build definition
3
+ build:
4
+ # The steps that will be executed on build
5
+ # See the Ruby section on the wercker devcenter:
6
+ # http://devcenter.wercker.com/articles/languages/ruby.html
7
+ steps:
8
+ # Uncomment this to force RVM to use a specific Ruby version
9
+ - rvm-use:
10
+ version: 2.2.0
11
+
12
+ # A step that executes `bundle install` command
13
+ - bundle-install
14
+
15
+ # A custom script step, name value is used in the UI
16
+ # and the code value contains the command that get executed
17
+ - script:
18
+ name: echo ruby information
19
+ code: |
20
+ echo "ruby version $(ruby --version) running"
21
+ echo "from location $(which ruby)"
22
+ echo -p "gem list: $(gem list)"
23
+
24
+ # Add more steps here:
25
+ - script:
26
+ name: rspec
27
+ code: bundle exec rspec
28
+
29
+ - rvm-use:
30
+ version: 2.2.0
31
+
32
+ # A step that executes `bundle install` command
33
+ - bundle-install
34
+
35
+ # A custom script step, name value is used in the UI
36
+ # and the code value contains the command that get executed
37
+ - script:
38
+ name: echo ruby information
39
+ code: |
40
+ echo "ruby version $(ruby --version) running"
41
+ echo "from location $(which ruby)"
42
+ echo -p "gem list: $(gem list)"
43
+
44
+ # Add more steps here:
45
+ - script:
46
+ name: rspec
47
+ code: bundle exec rspec
48
+
metadata ADDED
@@ -0,0 +1,238 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: moip2
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Rodrigo Saito
8
+ - Danillo Souza
9
+ - Caio Gama
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2015-06-10 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: httparty
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - ">="
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ version: '0'
29
+ - !ruby/object:Gem::Dependency
30
+ name: recursive-open-struct
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - ">="
34
+ - !ruby/object:Gem::Version
35
+ version: '0'
36
+ type: :runtime
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: '0'
43
+ - !ruby/object:Gem::Dependency
44
+ name: bundler
45
+ requirement: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '1.5'
50
+ type: :development
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - "~>"
55
+ - !ruby/object:Gem::Version
56
+ version: '1.5'
57
+ - !ruby/object:Gem::Dependency
58
+ name: rake
59
+ requirement: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: '0'
64
+ type: :development
65
+ prerelease: false
66
+ version_requirements: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ version: '0'
71
+ - !ruby/object:Gem::Dependency
72
+ name: rspec
73
+ requirement: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - "~>"
76
+ - !ruby/object:Gem::Version
77
+ version: 3.0.0.beta2
78
+ type: :development
79
+ prerelease: false
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - "~>"
83
+ - !ruby/object:Gem::Version
84
+ version: 3.0.0.beta2
85
+ - !ruby/object:Gem::Dependency
86
+ name: vcr
87
+ requirement: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - ">="
90
+ - !ruby/object:Gem::Version
91
+ version: '0'
92
+ type: :development
93
+ prerelease: false
94
+ version_requirements: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - ">="
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
99
+ - !ruby/object:Gem::Dependency
100
+ name: webmock
101
+ requirement: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - ">="
104
+ - !ruby/object:Gem::Version
105
+ version: '0'
106
+ type: :development
107
+ prerelease: false
108
+ version_requirements: !ruby/object:Gem::Requirement
109
+ requirements:
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ version: '0'
113
+ - !ruby/object:Gem::Dependency
114
+ name: guard-rspec
115
+ requirement: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - ">="
118
+ - !ruby/object:Gem::Version
119
+ version: '0'
120
+ type: :development
121
+ prerelease: false
122
+ version_requirements: !ruby/object:Gem::Requirement
123
+ requirements:
124
+ - - ">="
125
+ - !ruby/object:Gem::Version
126
+ version: '0'
127
+ description: Ruby client for moip v2 api
128
+ email:
129
+ - rodrigo.saito@moip.com.br
130
+ - danillo.souza@moip.com.br
131
+ - caio.gama@moip.com.br
132
+ executables: []
133
+ extensions: []
134
+ extra_rdoc_files: []
135
+ files:
136
+ - ".gitignore"
137
+ - ".rspec"
138
+ - ".ruby-gemset"
139
+ - ".ruby-version"
140
+ - Gemfile
141
+ - Guardfile
142
+ - LICENSE.txt
143
+ - README.md
144
+ - Rakefile
145
+ - lib/moip2.rb
146
+ - lib/moip2/api.rb
147
+ - lib/moip2/auth/basic.rb
148
+ - lib/moip2/auth/oauth.rb
149
+ - lib/moip2/client.rb
150
+ - lib/moip2/customer_api.rb
151
+ - lib/moip2/exceptions/invalid_enviroment_error.rb
152
+ - lib/moip2/invoice_api.rb
153
+ - lib/moip2/keys_api.rb
154
+ - lib/moip2/multi_order_api.rb
155
+ - lib/moip2/multi_payment_api.rb
156
+ - lib/moip2/order_api.rb
157
+ - lib/moip2/payment_api.rb
158
+ - lib/moip2/resource/customer.rb
159
+ - lib/moip2/resource/invoice.rb
160
+ - lib/moip2/resource/keys.rb
161
+ - lib/moip2/resource/multi_order.rb
162
+ - lib/moip2/resource/multi_payment.rb
163
+ - lib/moip2/resource/order.rb
164
+ - lib/moip2/resource/payment.rb
165
+ - lib/moip2/response.rb
166
+ - lib/moip2/version.rb
167
+ - moip2.gemspec
168
+ - spec/moip2/api_spec.rb
169
+ - spec/moip2/auth/basic_spec.rb
170
+ - spec/moip2/auth/oauth_spec.rb
171
+ - spec/moip2/client_spec.rb
172
+ - spec/moip2/customer_api_spec.rb
173
+ - spec/moip2/invoice_spec.rb
174
+ - spec/moip2/keys_spec.rb
175
+ - spec/moip2/multi_order_api_spec.rb
176
+ - spec/moip2/order_api_spec.rb
177
+ - spec/moip2/payment_api_spec.rb
178
+ - spec/moip2/resource/order_spec.rb
179
+ - spec/moip2/response_spec.rb
180
+ - spec/moip2_spec.rb
181
+ - spec/spec_helper.rb
182
+ - vcr_cassettes/create_customer.yml
183
+ - vcr_cassettes/create_customer_with_funding_instrument.yml
184
+ - vcr_cassettes/create_invoice.yml
185
+ - vcr_cassettes/create_mulit_order_success.yml
186
+ - vcr_cassettes/create_multi_order_fail.yml
187
+ - vcr_cassettes/create_order_fail.yml
188
+ - vcr_cassettes/create_order_success.yml
189
+ - vcr_cassettes/create_payment_success.yml
190
+ - vcr_cassettes/get_customer.yml
191
+ - vcr_cassettes/get_invoice.yml
192
+ - vcr_cassettes/get_keys.yml
193
+ - vcr_cassettes/list_invoices.yml
194
+ - vcr_cassettes/show_multi_order.yml
195
+ - vcr_cassettes/show_multi_order_not_found.yml
196
+ - vcr_cassettes/show_order.yml
197
+ - vcr_cassettes/show_order_not_found.yml
198
+ - vcr_cassettes/update_invoice.yml
199
+ - wercker.yml
200
+ homepage: ''
201
+ licenses:
202
+ - MIT
203
+ metadata: {}
204
+ post_install_message:
205
+ rdoc_options: []
206
+ require_paths:
207
+ - lib
208
+ required_ruby_version: !ruby/object:Gem::Requirement
209
+ requirements:
210
+ - - ">="
211
+ - !ruby/object:Gem::Version
212
+ version: '0'
213
+ required_rubygems_version: !ruby/object:Gem::Requirement
214
+ requirements:
215
+ - - ">="
216
+ - !ruby/object:Gem::Version
217
+ version: '0'
218
+ requirements: []
219
+ rubyforge_project:
220
+ rubygems_version: 2.4.6
221
+ signing_key:
222
+ specification_version: 4
223
+ summary: Ruby client for moip v2 api
224
+ test_files:
225
+ - spec/moip2/api_spec.rb
226
+ - spec/moip2/auth/basic_spec.rb
227
+ - spec/moip2/auth/oauth_spec.rb
228
+ - spec/moip2/client_spec.rb
229
+ - spec/moip2/customer_api_spec.rb
230
+ - spec/moip2/invoice_spec.rb
231
+ - spec/moip2/keys_spec.rb
232
+ - spec/moip2/multi_order_api_spec.rb
233
+ - spec/moip2/order_api_spec.rb
234
+ - spec/moip2/payment_api_spec.rb
235
+ - spec/moip2/resource/order_spec.rb
236
+ - spec/moip2/response_spec.rb
237
+ - spec/moip2_spec.rb
238
+ - spec/spec_helper.rb