spreedly 1.4.0 → 2.0.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.
- data/.gitignore +8 -0
- data/Gemfile +4 -0
- data/HISTORY.md +5 -0
- data/README.md +362 -29
- data/Rakefile +32 -0
- data/lib/certs/cacert.pem +7815 -0
- data/lib/spreedly.rb +24 -282
- data/lib/spreedly/common/errors_parser.rb +15 -0
- data/lib/spreedly/common/fields.rb +90 -0
- data/lib/spreedly/connection.rb +40 -0
- data/lib/spreedly/environment.rb +176 -0
- data/lib/spreedly/error.rb +50 -0
- data/lib/spreedly/gateway.rb +10 -0
- data/lib/spreedly/model.rb +17 -0
- data/lib/spreedly/payment_methods/credit_card.rb +9 -0
- data/lib/spreedly/payment_methods/payment_method.rb +34 -0
- data/lib/spreedly/payment_methods/paypal.rb +7 -0
- data/lib/spreedly/payment_methods/sprel.rb +7 -0
- data/lib/spreedly/ssl_requester.rb +65 -0
- data/lib/spreedly/transactions/add_payment_method.rb +16 -0
- data/lib/spreedly/transactions/auth_purchase.rb +17 -0
- data/lib/spreedly/transactions/authorization.rb +7 -0
- data/lib/spreedly/transactions/capture.rb +14 -0
- data/lib/spreedly/transactions/gateway_transaction.rb +31 -0
- data/lib/spreedly/transactions/purchase.rb +7 -0
- data/lib/spreedly/transactions/redact_payment_method.rb +14 -0
- data/lib/spreedly/transactions/refund.rb +14 -0
- data/lib/spreedly/transactions/retain_payment_method.rb +14 -0
- data/lib/spreedly/transactions/transaction.rb +41 -0
- data/lib/spreedly/transactions/void.rb +9 -0
- data/lib/spreedly/urls.rb +64 -0
- data/lib/spreedly/version.rb +1 -1
- data/spreedly.gemspec +29 -0
- data/test/credentials/credentials.yml +9 -0
- data/test/credentials/test_credentials.rb +43 -0
- data/test/helpers/assertions.rb +29 -0
- data/test/helpers/communication_helper.rb +31 -0
- data/test/helpers/creation_helper.rb +26 -0
- data/test/helpers/stub_response.rb +18 -0
- data/test/remote/remote_add_credit_card_test.rb +62 -0
- data/test/remote/remote_add_gateway_test.rb +30 -0
- data/test/remote/remote_authorize_test.rb +48 -0
- data/test/remote/remote_capture_test.rb +71 -0
- data/test/remote/remote_find_gateway_test.rb +31 -0
- data/test/remote/remote_find_payment_method_test.rb +29 -0
- data/test/remote/remote_find_transaction_test.rb +33 -0
- data/test/remote/remote_list_transactions_test.rb +36 -0
- data/test/remote/remote_purchase_test.rb +69 -0
- data/test/remote/remote_redact_test.rb +38 -0
- data/test/remote/remote_refund_test.rb +65 -0
- data/test/remote/remote_retain_test.rb +39 -0
- data/test/remote/remote_void_test.rb +64 -0
- data/test/test_helper.rb +23 -0
- data/test/unit/add_credit_card_test.rb +74 -0
- data/test/unit/add_gateway_test.rb +26 -0
- data/test/unit/authorize_test.rb +87 -0
- data/test/unit/capture_test.rb +91 -0
- data/test/unit/environment_test.rb +18 -0
- data/test/unit/fields_test.rb +75 -0
- data/test/unit/find_gateway_test.rb +28 -0
- data/test/unit/find_payment_method_test.rb +90 -0
- data/test/unit/find_transaction_test.rb +31 -0
- data/test/unit/list_transactions_test.rb +46 -0
- data/test/unit/purchase_test.rb +95 -0
- data/test/unit/redact_payment_method_test.rb +51 -0
- data/test/unit/refund_test.rb +91 -0
- data/test/unit/response_stubs/add_credit_card_stubs.rb +43 -0
- data/test/unit/response_stubs/add_gateway_stubs.rb +39 -0
- data/test/unit/response_stubs/authorization_stubs.rb +139 -0
- data/test/unit/response_stubs/capture_stubs.rb +87 -0
- data/test/unit/response_stubs/find_gateway_stubs.rb +38 -0
- data/test/unit/response_stubs/find_payment_method_stubs.rb +108 -0
- data/test/unit/response_stubs/find_transaction_stubs.rb +43 -0
- data/test/unit/response_stubs/list_transactions_stubs.rb +110 -0
- data/test/unit/response_stubs/purchase_stubs.rb +139 -0
- data/test/unit/response_stubs/redact_payment_method_stubs.rb +54 -0
- data/test/unit/response_stubs/refund_stubs.rb +87 -0
- data/test/unit/response_stubs/retain_payment_method_stubs.rb +85 -0
- data/test/unit/response_stubs/void_stubs.rb +79 -0
- data/test/unit/retain_payment_method_test.rb +44 -0
- data/test/unit/timeout_test.rb +20 -0
- data/test/unit/void_test.rb +96 -0
- metadata +215 -29
- checksums.yaml +0 -15
- data/lib/spreedly/common.rb +0 -44
- data/lib/spreedly/mock.rb +0 -221
- data/lib/spreedly/test_hacks.rb +0 -27
@@ -0,0 +1,110 @@
|
|
1
|
+
module ListTransactionsStubs
|
2
|
+
|
3
|
+
def successful_list_transactions_response
|
4
|
+
StubResponse.succeeded <<-XML
|
5
|
+
<transactions>
|
6
|
+
<transaction>
|
7
|
+
<amount type="integer">444</amount>
|
8
|
+
<on_test_gateway type="boolean">true</on_test_gateway>
|
9
|
+
<created_at type="datetime">2013-08-06T02:07:24Z</created_at>
|
10
|
+
<updated_at type="datetime">2013-08-06T02:07:24Z</updated_at>
|
11
|
+
<currency_code>USD</currency_code>
|
12
|
+
<succeeded type="boolean">true</succeeded>
|
13
|
+
<state>succeeded</state>
|
14
|
+
<token>5Zkgibjs6z5R6XENMtZd8A8ajau</token>
|
15
|
+
<transaction_type>Authorization</transaction_type>
|
16
|
+
<order_id nil="true"/>
|
17
|
+
<ip nil="true"/>
|
18
|
+
<description nil="true"/>
|
19
|
+
<merchant_name_descriptor nil="true"/>
|
20
|
+
<merchant_location_descriptor nil="true"/>
|
21
|
+
<gateway_specific_fields nil="true"/>
|
22
|
+
<gateway_specific_response_fields nil="true"/>
|
23
|
+
<message key="messages.transaction_succeeded">Succeeded!</message>
|
24
|
+
<gateway_token>TpjI3MSmLOSfqpFKP2poZRKc6Ru</gateway_token>
|
25
|
+
<response>
|
26
|
+
<success type="boolean">true</success>
|
27
|
+
<message>Successful authorize</message>
|
28
|
+
<avs_code nil="true"/>
|
29
|
+
<avs_message nil="true"/>
|
30
|
+
<cvv_code nil="true"/>
|
31
|
+
<cvv_message nil="true"/>
|
32
|
+
<pending type="boolean">false</pending>
|
33
|
+
<error_code></error_code>
|
34
|
+
<error_detail nil="true"/>
|
35
|
+
<cancelled type="boolean">false</cancelled>
|
36
|
+
<created_at type="datetime">2013-08-06T02:07:24Z</created_at>
|
37
|
+
<updated_at type="datetime">2013-08-06T02:07:24Z</updated_at>
|
38
|
+
</response>
|
39
|
+
<payment_method>
|
40
|
+
<token>a7I2aus36aN1kC1XpREkYTMOwcr</token>
|
41
|
+
<created_at type="datetime">2013-08-06T02:07:23Z</created_at>
|
42
|
+
<updated_at type="datetime">2013-08-06T02:07:24Z</updated_at>
|
43
|
+
<email>perrin@wot.com</email>
|
44
|
+
<data nil="true"/>
|
45
|
+
<storage_state>retained</storage_state>
|
46
|
+
<last_four_digits>4444</last_four_digits>
|
47
|
+
<card_type>master</card_type>
|
48
|
+
<first_name>Perrin</first_name>
|
49
|
+
<last_name>Aybara</last_name>
|
50
|
+
<month type="integer">1</month>
|
51
|
+
<year type="integer">2019</year>
|
52
|
+
<address1 nil="true"/>
|
53
|
+
<address2 nil="true"/>
|
54
|
+
<city nil="true"/>
|
55
|
+
<state nil="true"/>
|
56
|
+
<zip nil="true"/>
|
57
|
+
<country nil="true"/>
|
58
|
+
<phone_number nil="true"/>
|
59
|
+
<full_name>Perrin Aybara</full_name>
|
60
|
+
<payment_method_type>credit_card</payment_method_type>
|
61
|
+
<errors>
|
62
|
+
</errors>
|
63
|
+
<verification_value></verification_value>
|
64
|
+
<number>XXXX-XXXX-XXXX-4444</number>
|
65
|
+
</payment_method>
|
66
|
+
<api_urls>
|
67
|
+
<referencing_transaction>https://core.spreedly.com/v1/transactions/IGiNeArFVKD6rfYYW9lUP7e008l.xml</referencing_transaction>
|
68
|
+
</api_urls>
|
69
|
+
</transaction>
|
70
|
+
<transaction>
|
71
|
+
<amount type="integer">22</amount>
|
72
|
+
<on_test_gateway type="boolean">true</on_test_gateway>
|
73
|
+
<created_at type="datetime">2013-08-06T02:07:24Z</created_at>
|
74
|
+
<updated_at type="datetime">2013-08-06T02:07:24Z</updated_at>
|
75
|
+
<currency_code>USD</currency_code>
|
76
|
+
<succeeded type="boolean">true</succeeded>
|
77
|
+
<state>succeeded</state>
|
78
|
+
<token>IGiNeArFVKD6rfYYW9lUP7e008l</token>
|
79
|
+
<transaction_type>Capture</transaction_type>
|
80
|
+
<order_id nil="true"/>
|
81
|
+
<ip nil="true"/>
|
82
|
+
<description nil="true"/>
|
83
|
+
<merchant_name_descriptor nil="true"/>
|
84
|
+
<merchant_location_descriptor nil="true"/>
|
85
|
+
<gateway_specific_fields nil="true"/>
|
86
|
+
<gateway_specific_response_fields nil="true"/>
|
87
|
+
<message key="messages.transaction_succeeded">Succeeded!</message>
|
88
|
+
<gateway_token>TpjI3MSmLOSfqpFKP2poZRKc6Ru</gateway_token>
|
89
|
+
<response>
|
90
|
+
<success type="boolean">true</success>
|
91
|
+
<message>Successful capture</message>
|
92
|
+
<avs_code nil="true"/>
|
93
|
+
<avs_message nil="true"/>
|
94
|
+
<cvv_code nil="true"/>
|
95
|
+
<cvv_message nil="true"/>
|
96
|
+
<pending type="boolean">false</pending>
|
97
|
+
<error_code></error_code>
|
98
|
+
<error_detail nil="true"/>
|
99
|
+
<cancelled type="boolean">false</cancelled>
|
100
|
+
<created_at type="datetime">2013-08-06T02:07:24Z</created_at>
|
101
|
+
<updated_at type="datetime">2013-08-06T02:07:24Z</updated_at>
|
102
|
+
</response>
|
103
|
+
<reference_token>5Zkgibjs6z5R6XENMtZd8A8ajau</reference_token>
|
104
|
+
<api_urls>
|
105
|
+
</api_urls>
|
106
|
+
</transaction>
|
107
|
+
</transactions>
|
108
|
+
XML
|
109
|
+
end
|
110
|
+
end
|
@@ -0,0 +1,139 @@
|
|
1
|
+
module PurchaseStubs
|
2
|
+
|
3
|
+
def successful_purchase_response
|
4
|
+
StubResponse.succeeded <<-XML
|
5
|
+
<transaction>
|
6
|
+
<amount type="integer">144</amount>
|
7
|
+
<on_test_gateway type="boolean">true</on_test_gateway>
|
8
|
+
<created_at type="datetime">2013-07-31T19:46:26Z</created_at>
|
9
|
+
<updated_at type="datetime">2013-07-31T19:46:32Z</updated_at>
|
10
|
+
<currency_code>USD</currency_code>
|
11
|
+
<succeeded type="boolean">true</succeeded>
|
12
|
+
<state>succeeded</state>
|
13
|
+
<token>Btcyks35m4JLSNOs9ymJoNQLjeX</token>
|
14
|
+
<transaction_type>Purchase</transaction_type>
|
15
|
+
<order_id>187A</order_id>
|
16
|
+
<ip nil="true"/>
|
17
|
+
<description>4 Shardblades</description>
|
18
|
+
<merchant_name_descriptor nil="true"/>
|
19
|
+
<merchant_location_descriptor nil="true"/>
|
20
|
+
<gateway_specific_fields nil="true"/>
|
21
|
+
<gateway_specific_response_fields nil="true"/>
|
22
|
+
<message key="messages.transaction_succeeded">Succeeded!</message>
|
23
|
+
<gateway_token>YOaCn5a9xRaBTGgmGAWbkgWUuqv</gateway_token>
|
24
|
+
<response>
|
25
|
+
<success type="boolean">true</success>
|
26
|
+
<message>Successful purchase</message>
|
27
|
+
<avs_code>22</avs_code>
|
28
|
+
<avs_message nil="true">I will be back</avs_message>
|
29
|
+
<cvv_code>31</cvv_code>
|
30
|
+
<cvv_message nil="true">Rutabaga</cvv_message>
|
31
|
+
<pending type="boolean">false</pending>
|
32
|
+
<error_code>899</error_code>
|
33
|
+
<error_detail nil="true">The eagle lives!</error_detail>
|
34
|
+
<cancelled type="boolean">false</cancelled>
|
35
|
+
<created_at type="datetime">2013-07-31T19:46:26Z</created_at>
|
36
|
+
<updated_at type="datetime">2013-07-31T19:46:27Z</updated_at>
|
37
|
+
</response>
|
38
|
+
<payment_method>
|
39
|
+
<token>8xXXIPGXTaPXysDA5OUpgnjTEjK</token>
|
40
|
+
<created_at type="datetime">2013-07-31T19:46:25Z</created_at>
|
41
|
+
<updated_at type="datetime">2013-07-31T19:46:26Z</updated_at>
|
42
|
+
<email>perrin@wot.com</email>
|
43
|
+
<data nil="true"/>
|
44
|
+
<storage_state>retained</storage_state>
|
45
|
+
<last_four_digits>4444</last_four_digits>
|
46
|
+
<card_type>master</card_type>
|
47
|
+
<first_name>Perrin</first_name>
|
48
|
+
<last_name>Aybara</last_name>
|
49
|
+
<month type="integer">1</month>
|
50
|
+
<year type="integer">2019</year>
|
51
|
+
<address1 nil="true"/>
|
52
|
+
<address2 nil="true"/>
|
53
|
+
<city nil="true"/>
|
54
|
+
<state nil="true"/>
|
55
|
+
<zip nil="true"/>
|
56
|
+
<country nil="true"/>
|
57
|
+
<phone_number nil="true"/>
|
58
|
+
<full_name>Perrin Aybara</full_name>
|
59
|
+
<payment_method_type>credit_card</payment_method_type>
|
60
|
+
<errors>
|
61
|
+
</errors>
|
62
|
+
<verification_value></verification_value>
|
63
|
+
<number>XXXX-XXXX-XXXX-4444</number>
|
64
|
+
</payment_method>
|
65
|
+
<api_urls>
|
66
|
+
</api_urls>
|
67
|
+
</transaction>
|
68
|
+
XML
|
69
|
+
end
|
70
|
+
|
71
|
+
def failed_purchase_response
|
72
|
+
StubResponse.failed <<-XML
|
73
|
+
<transaction>
|
74
|
+
<amount type="integer">5148</amount>
|
75
|
+
<on_test_gateway type="boolean">true</on_test_gateway>
|
76
|
+
<created_at type="datetime">2013-07-31T19:51:57Z</created_at>
|
77
|
+
<updated_at type="datetime">2013-07-31T19:51:57Z</updated_at>
|
78
|
+
<currency_code>USD</currency_code>
|
79
|
+
<succeeded type="boolean">false</succeeded>
|
80
|
+
<state>gateway_processing_failed</state>
|
81
|
+
<token>RxkxK78ZlvDiXRQRnyuJM5ee0Ww</token>
|
82
|
+
<transaction_type>Purchase</transaction_type>
|
83
|
+
<order_id nil="true"/>
|
84
|
+
<ip nil="true"/>
|
85
|
+
<description nil="true"/>
|
86
|
+
<merchant_name_descriptor nil="true"/>
|
87
|
+
<merchant_location_descriptor nil="true"/>
|
88
|
+
<gateway_specific_fields nil="true"/>
|
89
|
+
<gateway_specific_response_fields nil="true"/>
|
90
|
+
<message>Unable to process the purchase transaction.</message>
|
91
|
+
<gateway_token>Y6jMbUCm2oz6QTpavzp0xLaV9mk</gateway_token>
|
92
|
+
<response>
|
93
|
+
<success type="boolean">false</success>
|
94
|
+
<message>Unable to process the purchase transaction.</message>
|
95
|
+
<avs_code nil="true"/>
|
96
|
+
<avs_message nil="true"/>
|
97
|
+
<cvv_code nil="true"/>
|
98
|
+
<cvv_message nil="true"/>
|
99
|
+
<pending type="boolean">false</pending>
|
100
|
+
<error_code></error_code>
|
101
|
+
<error_detail nil="true">The eagle is dead Jim.</error_detail>
|
102
|
+
<cancelled type="boolean">false</cancelled>
|
103
|
+
<created_at type="datetime">2013-07-31T19:51:57Z</created_at>
|
104
|
+
<updated_at type="datetime">2013-07-31T19:51:57Z</updated_at>
|
105
|
+
</response>
|
106
|
+
<payment_method>
|
107
|
+
<token>H0kioCnUZ8YbQ9rhqJv6zyav01Q</token>
|
108
|
+
<created_at type="datetime">2013-07-31T19:51:57Z</created_at>
|
109
|
+
<updated_at type="datetime">2013-07-31T19:51:57Z</updated_at>
|
110
|
+
<email>perrin@wot.com</email>
|
111
|
+
<data nil="true"/>
|
112
|
+
<storage_state>retained</storage_state>
|
113
|
+
<last_four_digits>1881</last_four_digits>
|
114
|
+
<card_type>visa</card_type>
|
115
|
+
<first_name>Perrin</first_name>
|
116
|
+
<last_name>Aybara</last_name>
|
117
|
+
<month type="integer">1</month>
|
118
|
+
<year type="integer">2019</year>
|
119
|
+
<address1 nil="true"/>
|
120
|
+
<address2 nil="true"/>
|
121
|
+
<city nil="true"/>
|
122
|
+
<state nil="true"/>
|
123
|
+
<zip nil="true"/>
|
124
|
+
<country nil="true"/>
|
125
|
+
<phone_number nil="true"/>
|
126
|
+
<full_name>Perrin Aybara</full_name>
|
127
|
+
<payment_method_type>credit_card</payment_method_type>
|
128
|
+
<errors>
|
129
|
+
</errors>
|
130
|
+
<verification_value></verification_value>
|
131
|
+
<number>XXXX-XXXX-XXXX-1881</number>
|
132
|
+
</payment_method>
|
133
|
+
<api_urls>
|
134
|
+
</api_urls>
|
135
|
+
</transaction>
|
136
|
+
XML
|
137
|
+
end
|
138
|
+
|
139
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
module RedactPaymentMethodStubs
|
2
|
+
|
3
|
+
def successful_redact_response
|
4
|
+
StubResponse.succeeded <<-XML
|
5
|
+
<transaction>
|
6
|
+
<on_test_gateway type="boolean">false</on_test_gateway>
|
7
|
+
<created_at type="datetime">2013-08-05T17:43:41Z</created_at>
|
8
|
+
<updated_at type="datetime">2013-08-05T17:43:41Z</updated_at>
|
9
|
+
<succeeded type="boolean">true</succeeded>
|
10
|
+
<token>2BSe5T6FHpypph3ensF7m3Nb3qk</token>
|
11
|
+
<state>succeeded</state>
|
12
|
+
<gateway_specific_fields nil="true"/>
|
13
|
+
<gateway_specific_response_fields nil="true"/>
|
14
|
+
<transaction_type>RedactPaymentMethod</transaction_type>
|
15
|
+
<order_id nil="true"/>
|
16
|
+
<ip nil="true"/>
|
17
|
+
<message key="messages.transaction_succeeded">Succeeded!</message>
|
18
|
+
<payment_method>
|
19
|
+
<token>RvsxKgbAZBmiZHEPhhTcOQzJeC2</token>
|
20
|
+
<created_at type="datetime">2013-08-05T17:43:41Z</created_at>
|
21
|
+
<updated_at type="datetime">2013-08-05T17:43:41Z</updated_at>
|
22
|
+
<email>perrin@wot.com</email>
|
23
|
+
<data nil="true"/>
|
24
|
+
<storage_state>redacted</storage_state>
|
25
|
+
<last_four_digits>4444</last_four_digits>
|
26
|
+
<card_type>master</card_type>
|
27
|
+
<first_name>Perrin</first_name>
|
28
|
+
<last_name>Aybara</last_name>
|
29
|
+
<month type="integer">1</month>
|
30
|
+
<year type="integer">2019</year>
|
31
|
+
<address1 nil="true"/>
|
32
|
+
<address2 nil="true"/>
|
33
|
+
<city nil="true"/>
|
34
|
+
<state nil="true"/>
|
35
|
+
<zip nil="true"/>
|
36
|
+
<country nil="true"/>
|
37
|
+
<phone_number nil="true"/>
|
38
|
+
<full_name>Perrin Aybara</full_name>
|
39
|
+
<payment_method_type>credit_card</payment_method_type>
|
40
|
+
<errors>
|
41
|
+
</errors>
|
42
|
+
<verification_value></verification_value>
|
43
|
+
<number>XXXX-XXXX-XXXX-4444</number>
|
44
|
+
</payment_method>
|
45
|
+
</transaction>
|
46
|
+
XML
|
47
|
+
end
|
48
|
+
|
49
|
+
def failed_redact_response
|
50
|
+
StubResponse.failed <<-XML
|
51
|
+
XML
|
52
|
+
end
|
53
|
+
|
54
|
+
end
|
@@ -0,0 +1,87 @@
|
|
1
|
+
module RefundStubs
|
2
|
+
|
3
|
+
def successful_refund_response
|
4
|
+
StubResponse.succeeded <<-XML
|
5
|
+
<transaction>
|
6
|
+
<amount type="integer">944</amount>
|
7
|
+
<on_test_gateway type="boolean">true</on_test_gateway>
|
8
|
+
<created_at type="datetime">2013-08-05T16:37:13Z</created_at>
|
9
|
+
<updated_at type="datetime">2013-08-05T16:37:13Z</updated_at>
|
10
|
+
<currency_code>USD</currency_code>
|
11
|
+
<succeeded type="boolean">true</succeeded>
|
12
|
+
<state>succeeded</state>
|
13
|
+
<token>JyQegcYcIFA2jUg22OYTGiUyXTR</token>
|
14
|
+
<transaction_type>Credit</transaction_type>
|
15
|
+
<order_id>99a1</order_id>
|
16
|
+
<ip>182.129.106.102</ip>
|
17
|
+
<description>LotsOCoffee</description>
|
18
|
+
<merchant_name_descriptor>My Writeoff Inc.</merchant_name_descriptor>
|
19
|
+
<merchant_location_descriptor>Tax Free Zone</merchant_location_descriptor>
|
20
|
+
<gateway_specific_fields nil="true"/>
|
21
|
+
<gateway_specific_response_fields nil="true"/>
|
22
|
+
<message key="messages.transaction_succeeded">Succeeded!</message>
|
23
|
+
<gateway_token>XYI0V2l4KC1cAm6Y3c2kG5loJaA</gateway_token>
|
24
|
+
<response>
|
25
|
+
<success type="boolean">true</success>
|
26
|
+
<message>Successful credit</message>
|
27
|
+
<avs_code nil="true"/>
|
28
|
+
<avs_message nil="true"/>
|
29
|
+
<cvv_code nil="true"/>
|
30
|
+
<cvv_message nil="true"/>
|
31
|
+
<pending type="boolean">false</pending>
|
32
|
+
<error_code></error_code>
|
33
|
+
<error_detail nil="true"/>
|
34
|
+
<cancelled type="boolean">false</cancelled>
|
35
|
+
<created_at type="datetime">2013-08-05T16:37:13Z</created_at>
|
36
|
+
<updated_at type="datetime">2013-08-05T16:37:13Z</updated_at>
|
37
|
+
</response>
|
38
|
+
<reference_token>RkIAltzr49eXuWc7ajBjLLeKZt8</reference_token>
|
39
|
+
<api_urls>
|
40
|
+
</api_urls>
|
41
|
+
</transaction>
|
42
|
+
XML
|
43
|
+
end
|
44
|
+
|
45
|
+
def failed_refund_response
|
46
|
+
StubResponse.failed <<-XML
|
47
|
+
<transaction>
|
48
|
+
<amount type="integer">44</amount>
|
49
|
+
<on_test_gateway type="boolean">true</on_test_gateway>
|
50
|
+
<created_at type="datetime">2013-08-05T16:35:11Z</created_at>
|
51
|
+
<updated_at type="datetime">2013-08-05T16:35:11Z</updated_at>
|
52
|
+
<currency_code>USD</currency_code>
|
53
|
+
<succeeded type="boolean">false</succeeded>
|
54
|
+
<state>gateway_processing_failed</state>
|
55
|
+
<token>UWB0L2Q2hwX1qy3Z8UdHd426icC</token>
|
56
|
+
<transaction_type>Credit</transaction_type>
|
57
|
+
<order_id nil="true"/>
|
58
|
+
<ip nil="true"/>
|
59
|
+
<description nil="true"/>
|
60
|
+
<merchant_name_descriptor nil="true"/>
|
61
|
+
<merchant_location_descriptor nil="true"/>
|
62
|
+
<gateway_specific_fields nil="true"/>
|
63
|
+
<gateway_specific_response_fields nil="true"/>
|
64
|
+
<message>Unable to process the credit transaction.</message>
|
65
|
+
<gateway_token>GWUbHifwMEI8Lqyjz5H1zMbIC7M</gateway_token>
|
66
|
+
<response>
|
67
|
+
<success type="boolean">false</success>
|
68
|
+
<message>Unable to process the credit transaction.</message>
|
69
|
+
<avs_code nil="true"/>
|
70
|
+
<avs_message nil="true"/>
|
71
|
+
<cvv_code nil="true"/>
|
72
|
+
<cvv_message nil="true"/>
|
73
|
+
<pending type="boolean">false</pending>
|
74
|
+
<error_code></error_code>
|
75
|
+
<error_detail>The eagle is actually a dead duck.</error_detail>
|
76
|
+
<cancelled type="boolean">false</cancelled>
|
77
|
+
<created_at type="datetime">2013-08-05T16:35:11Z</created_at>
|
78
|
+
<updated_at type="datetime">2013-08-05T16:35:11Z</updated_at>
|
79
|
+
</response>
|
80
|
+
<reference_token>5UHTE8QU7lxsGYiBtRQRJn626kj</reference_token>
|
81
|
+
<api_urls>
|
82
|
+
</api_urls>
|
83
|
+
</transaction>
|
84
|
+
XML
|
85
|
+
end
|
86
|
+
|
87
|
+
end
|
@@ -0,0 +1,85 @@
|
|
1
|
+
module RetainPaymentMethodStubs
|
2
|
+
|
3
|
+
def successful_retain_response
|
4
|
+
StubResponse.succeeded <<-XML
|
5
|
+
<transaction>
|
6
|
+
<token>DsmkqsjRvqcMGSCBUUuUiRw8tso</token>
|
7
|
+
<created_at type="datetime">2013-08-05T18:31:51Z</created_at>
|
8
|
+
<updated_at type="datetime">2013-08-05T18:31:51Z</updated_at>
|
9
|
+
<succeeded type="boolean">true</succeeded>
|
10
|
+
<transaction_type>RetainPaymentMethod</transaction_type>
|
11
|
+
<state>succeeded</state>
|
12
|
+
<message key="messages.transaction_succeeded">Succeeded!</message>
|
13
|
+
<payment_method>
|
14
|
+
<token>RXZDzDGxpqPV7v5ZNVO89n1qtTl</token>
|
15
|
+
<created_at type="datetime">2013-08-05T18:31:51Z</created_at>
|
16
|
+
<updated_at type="datetime">2013-08-05T18:31:51Z</updated_at>
|
17
|
+
<email>perrin@wot.com</email>
|
18
|
+
<data nil="true"/>
|
19
|
+
<storage_state>retained</storage_state>
|
20
|
+
<last_four_digits>4444</last_four_digits>
|
21
|
+
<card_type>master</card_type>
|
22
|
+
<first_name>Perrin</first_name>
|
23
|
+
<last_name>Aybara</last_name>
|
24
|
+
<month type="integer">1</month>
|
25
|
+
<year type="integer">2019</year>
|
26
|
+
<address1 nil="true"/>
|
27
|
+
<address2 nil="true"/>
|
28
|
+
<city nil="true"/>
|
29
|
+
<state nil="true"/>
|
30
|
+
<zip nil="true"/>
|
31
|
+
<country nil="true"/>
|
32
|
+
<phone_number nil="true"/>
|
33
|
+
<full_name>Perrin Aybara</full_name>
|
34
|
+
<payment_method_type>credit_card</payment_method_type>
|
35
|
+
<errors>
|
36
|
+
</errors>
|
37
|
+
<verification_value></verification_value>
|
38
|
+
<number>XXXX-XXXX-XXXX-4444</number>
|
39
|
+
</payment_method>
|
40
|
+
</transaction>
|
41
|
+
XML
|
42
|
+
end
|
43
|
+
|
44
|
+
def failed_retain_response
|
45
|
+
StubResponse.failed <<-XML
|
46
|
+
<transaction>
|
47
|
+
<token>2OLUmdUE7EFIdkb9tTnWyLPkxsF</token>
|
48
|
+
<created_at type="datetime">2013-08-05T18:34:14Z</created_at>
|
49
|
+
<updated_at type="datetime">2013-08-05T18:34:14Z</updated_at>
|
50
|
+
<succeeded type="boolean">false</succeeded>
|
51
|
+
<transaction_type>RetainPaymentMethod</transaction_type>
|
52
|
+
<state>failed</state>
|
53
|
+
<message key="messages.unable_to_retain_a_redacted_payment_method">The payment method has been redacted. Therefore, it cannot be retained.</message>
|
54
|
+
<payment_method>
|
55
|
+
<token>CpurR3zCfGcRC0tqwq9zp4zzIgf</token>
|
56
|
+
<created_at type="datetime">2013-08-05T18:34:13Z</created_at>
|
57
|
+
<updated_at type="datetime">2013-08-05T18:34:14Z</updated_at>
|
58
|
+
<email>perrin@wot.com</email>
|
59
|
+
<data nil="true"/>
|
60
|
+
<storage_state>redacted</storage_state>
|
61
|
+
<last_four_digits>4444</last_four_digits>
|
62
|
+
<card_type>master</card_type>
|
63
|
+
<first_name>Perrin</first_name>
|
64
|
+
<last_name>Aybara</last_name>
|
65
|
+
<month type="integer">1</month>
|
66
|
+
<year type="integer">2019</year>
|
67
|
+
<address1 nil="true"/>
|
68
|
+
<address2 nil="true"/>
|
69
|
+
<city nil="true"/>
|
70
|
+
<state nil="true"/>
|
71
|
+
<zip nil="true"/>
|
72
|
+
<country nil="true"/>
|
73
|
+
<phone_number nil="true"/>
|
74
|
+
<full_name>Perrin Aybara</full_name>
|
75
|
+
<payment_method_type>credit_card</payment_method_type>
|
76
|
+
<errors>
|
77
|
+
</errors>
|
78
|
+
<verification_value></verification_value>
|
79
|
+
<number>XXXX-XXXX-XXXX-4444</number>
|
80
|
+
</payment_method>
|
81
|
+
</transaction>
|
82
|
+
XML
|
83
|
+
end
|
84
|
+
|
85
|
+
end
|