pensio_api 0.2.1 → 0.2.2

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.
Files changed (89) hide show
  1. checksums.yaml +13 -5
  2. data/.rspec +2 -0
  3. data/Gemfile +3 -0
  4. data/Gemfile.lock +83 -0
  5. data/Guardfile +23 -0
  6. data/LICENSE +24 -0
  7. data/README.md +77 -0
  8. data/lib/pensio_api/billing_address.rb +15 -0
  9. data/lib/pensio_api/callback.rb +30 -0
  10. data/lib/pensio_api/credentials.rb +7 -0
  11. data/lib/pensio_api/ecommerce.rb +13 -0
  12. data/lib/pensio_api/errors/bad_request.rb +15 -0
  13. data/lib/pensio_api/errors/gateway_error.rb +21 -0
  14. data/lib/pensio_api/errors/no_credentials.rb +9 -0
  15. data/lib/pensio_api/funding_list.rb +30 -0
  16. data/lib/pensio_api/funding_list_request.rb +15 -0
  17. data/lib/pensio_api/mixins/has_transactions.rb +36 -0
  18. data/lib/pensio_api/mixins/id.rb +9 -0
  19. data/lib/pensio_api/mixins/method_missing.rb +9 -0
  20. data/lib/pensio_api/mixins/request_defaults.rb +50 -0
  21. data/lib/pensio_api/mixins/timestamps.rb +13 -0
  22. data/lib/pensio_api/request.rb +18 -0
  23. data/lib/pensio_api/reservation.rb +28 -0
  24. data/lib/pensio_api/responses/base.rb +32 -0
  25. data/lib/pensio_api/responses/funding_list.rb +43 -0
  26. data/lib/pensio_api/responses/gateway_url.rb +13 -0
  27. data/lib/pensio_api/responses/refund.rb +17 -0
  28. data/lib/pensio_api/responses/reservation.rb +15 -0
  29. data/lib/pensio_api/responses/reservation_capture.rb +14 -0
  30. data/lib/pensio_api/responses/reservation_release.rb +6 -0
  31. data/lib/pensio_api/responses/subscription_charge.rb +21 -0
  32. data/lib/pensio_api/responses/subscription_failure_callback.rb +21 -0
  33. data/lib/pensio_api/responses/success_callback.rb +21 -0
  34. data/lib/pensio_api/responses/terminal.rb +41 -0
  35. data/lib/pensio_api/responses/transaction.rb +13 -0
  36. data/lib/pensio_api/subscription.rb +30 -0
  37. data/lib/pensio_api/terminal.rb +17 -0
  38. data/lib/pensio_api/transaction.rb +84 -0
  39. data/lib/pensio_api.rb +36 -0
  40. data/pensio_api.gemspec +20 -0
  41. data/spec/lib/pensio_api/billing_address_spec.rb +40 -0
  42. data/spec/lib/pensio_api/callback_spec.rb +21 -0
  43. data/spec/lib/pensio_api/ecommerce_spec.rb +22 -0
  44. data/spec/lib/pensio_api/errors/bad_request_spec.rb +31 -0
  45. data/spec/lib/pensio_api/errors/gateway_error_spec.rb +38 -0
  46. data/spec/lib/pensio_api/funding_list_request_spec.rb +17 -0
  47. data/spec/lib/pensio_api/funding_list_spec.rb +38 -0
  48. data/spec/lib/pensio_api/request_spec.rb +122 -0
  49. data/spec/lib/pensio_api/reservation_spec.rb +32 -0
  50. data/spec/lib/pensio_api/responses/base_spec.rb +68 -0
  51. data/spec/lib/pensio_api/responses/funding_list_spec.rb +23 -0
  52. data/spec/lib/pensio_api/responses/gateway_url_spec.rb +17 -0
  53. data/spec/lib/pensio_api/responses/refund_spec.rb +18 -0
  54. data/spec/lib/pensio_api/responses/reservation_capture_spec.rb +18 -0
  55. data/spec/lib/pensio_api/responses/reservation_release_spec.rb +12 -0
  56. data/spec/lib/pensio_api/responses/reservation_spec.rb +15 -0
  57. data/spec/lib/pensio_api/responses/subscription_charge_spec.rb +56 -0
  58. data/spec/lib/pensio_api/responses/subscription_failure_callback_spec.rb +48 -0
  59. data/spec/lib/pensio_api/responses/success_callback_spec.rb +45 -0
  60. data/spec/lib/pensio_api/responses/terminal_spec.rb +55 -0
  61. data/spec/lib/pensio_api/responses/transaction_spec.rb +56 -0
  62. data/spec/lib/pensio_api/subscription_spec.rb +37 -0
  63. data/spec/lib/pensio_api/terminal_spec.rb +18 -0
  64. data/spec/lib/pensio_api/transaction_spec.rb +101 -0
  65. data/spec/spec_helper.rb +26 -0
  66. data/spec/support/fixtures/bad_request_error.xml +10 -0
  67. data/spec/support/fixtures/capture_reservation.xml +84 -0
  68. data/spec/support/fixtures/charge_subscription.xml +89 -0
  69. data/spec/support/fixtures/create_multi_payment_request.xml +13 -0
  70. data/spec/support/fixtures/create_payment_request.xml +13 -0
  71. data/spec/support/fixtures/failure_callback.xml +76 -0
  72. data/spec/support/fixtures/funding_download.csv +6 -0
  73. data/spec/support/fixtures/funding_list.xml +43 -0
  74. data/spec/support/fixtures/get_terminals.xml +38 -0
  75. data/spec/support/fixtures/get_terminals_none.xml +12 -0
  76. data/spec/support/fixtures/get_terminals_single.xml +28 -0
  77. data/spec/support/fixtures/multiple_payments.xml +146 -0
  78. data/spec/support/fixtures/payments.xml +80 -0
  79. data/spec/support/fixtures/payments_none.xml +13 -0
  80. data/spec/support/fixtures/pensio_error.xml +48 -0
  81. data/spec/support/fixtures/refund_captured_reservation.xml +88 -0
  82. data/spec/support/fixtures/release_reservation.xml +72 -0
  83. data/spec/support/fixtures/reservation_of_fixed_amount.xml +46 -0
  84. data/spec/support/fixtures/reserve_subscription_charge.xml +86 -0
  85. data/spec/support/fixtures/setup_subscription.xml +46 -0
  86. data/spec/support/fixtures/subscription_failure_callback.xml +132 -0
  87. data/spec/support/fixtures/success_callback.xml +119 -0
  88. data/spec/support/helpers.rb +38 -0
  89. metadata +150 -15
@@ -0,0 +1,101 @@
1
+ require 'spec_helper'
2
+
3
+ describe PensioAPI::Transaction do
4
+ before :each do
5
+ stub_pensio_response('/merchant/API/payments', 'payments')
6
+ stub_pensio_response('/merchant/API/getTerminals', 'get_terminals')
7
+ stub_pensio_response('/merchant/API/refundCapturedReservation', 'refund_captured_reservation')
8
+ end
9
+
10
+ let(:transaction) { PensioAPI::Transaction.find.first }
11
+
12
+ describe 'reader attributes' do
13
+ describe '.captured_amount' do
14
+ specify { expect(transaction.status).to be_an_instance_of(String) }
15
+ end
16
+
17
+ describe '.captured_amount' do
18
+ specify { expect(transaction.captured_amount).to be_an_instance_of(BigDecimal) }
19
+ end
20
+
21
+ describe '.reserved_amount' do
22
+ specify { expect(transaction.reserved_amount).to be_an_instance_of(BigDecimal) }
23
+ end
24
+
25
+ describe '.refunded_amount' do
26
+ specify { expect(transaction.refunded_amount).to be_an_instance_of(BigDecimal) }
27
+ end
28
+
29
+ describe '.recurring_default_amount' do
30
+ specify { expect(transaction.recurring_default_amount).to be_an_instance_of(BigDecimal) }
31
+ end
32
+
33
+ describe '.merchant_currency' do
34
+ specify { expect(transaction.merchant_currency).to be_an_instance_of(Fixnum) }
35
+ end
36
+
37
+ describe '.card_holder_currency' do
38
+ specify { expect(transaction.card_holder_currency).to be_an_instance_of(Fixnum) }
39
+ end
40
+ end
41
+
42
+ describe '.find' do
43
+ describe 'object mapping' do
44
+ let(:response) { PensioAPI::Transaction.find }
45
+ it 'returns an instance of PensioAPI::Responses::Transaction' do
46
+ expect(response).to be_an_instance_of(PensioAPI::Responses::Transaction)
47
+ end
48
+
49
+ it 'maps transactions to transaction objects' do
50
+ expect(response.all? { |r| r.class == PensioAPI::Transaction }).to be_true
51
+ end
52
+
53
+ specify { expect(response.transactions.length).to eq(1) }
54
+ end
55
+ end
56
+
57
+ describe '.to_reservation' do
58
+ it 'returns a PensioAPI::Reservation object' do
59
+ expect(transaction.to_reservation).to be_an_instance_of(PensioAPI::Reservation)
60
+ end
61
+ end
62
+
63
+ describe '.to_subscription' do
64
+ it 'returns a PensioAPI::Subscription object' do
65
+ expect(transaction.to_subscription).to be_an_instance_of(PensioAPI::Subscription)
66
+ end
67
+ end
68
+
69
+ describe '.terminal' do
70
+ it 'returns a PensioAPI::Terminal object' do
71
+ expect(transaction.terminal).to be_an_instance_of(PensioAPI::Terminal)
72
+ end
73
+ end
74
+
75
+ describe '.refund' do
76
+ let(:response) { transaction.refund }
77
+
78
+ specify { expect(response).to be_an_instance_of(PensioAPI::Responses::Refund) }
79
+ end
80
+
81
+ describe '.captured?' do
82
+ context 'when the full reserved amount has been captured' do
83
+ it 'returns true' do
84
+ expect(transaction).to be_captured
85
+ end
86
+ end
87
+
88
+ context 'when the full reserved amount has not been captured' do
89
+ it 'returns false' do
90
+ transaction.stub(:captured_amount).and_return(BigDecimal.new('0'))
91
+ expect(transaction).to_not be_captured
92
+ end
93
+ end
94
+ end
95
+
96
+ describe '.billing_address' do
97
+ it 'returns a PensioAPI::BillingAddress object' do
98
+ expect(transaction.billing_address).to be_an_instance_of(PensioAPI::BillingAddress)
99
+ end
100
+ end
101
+ end
@@ -0,0 +1,26 @@
1
+ require 'bundler/setup'
2
+ require 'webmock/rspec'
3
+ require 'httparty'
4
+ require 'active_support'
5
+ require 'pensio_api'
6
+ require './spec/support/helpers'
7
+
8
+ RSpec.configure do |config|
9
+ config.treat_symbols_as_metadata_keys_with_true_values = true
10
+ config.run_all_when_everything_filtered = true
11
+ config.filter_run :focus
12
+
13
+ config.include Helpers
14
+
15
+ config.before :each do
16
+ PensioAPI::Credentials.base_uri = 'https://testgateway.pensio.com'
17
+ PensioAPI::Credentials.username = 'test_user'
18
+ PensioAPI::Credentials.password = 'password'
19
+ end
20
+
21
+ # Run specs in random order to surface order dependencies. If you find an
22
+ # order dependency and want to debug it, you can fix the order by providing
23
+ # the seed, which is printed after each run.
24
+ # --seed 1234
25
+ config.order = 'random'
26
+ end
@@ -0,0 +1,10 @@
1
+ <?xml version="1.0"?>
2
+ <APIResponse version="20100929">
3
+ <Header>
4
+ <Date>2010-02-12T21:45:52+01:00</Date>
5
+ <Path>API/yourApiCall</Path>
6
+ <ErrorCode>234</ErrorCode>
7
+ <ErrorMessage>Error message detailing what the error was</ErrorMessage>
8
+ </Header>
9
+ <Body/>
10
+ </APIResponse>
@@ -0,0 +1,84 @@
1
+ <?xml version="1.0" encoding="utf-8" ?>
2
+ <APIResponse version="20100929">
3
+ <Header>
4
+ <Date>2010-09-29T12:34:56+02:00</Date>
5
+ <Path>API/captureReservation</Path>
6
+ <ErrorCode>0</ErrorCode>
7
+ <ErrorMessage></ErrorMessage>
8
+ </Header>
9
+ <Body>
10
+ <CaptureAmount>0.20</CaptureAmount>
11
+ <CaptureCurrency>978</CaptureCurrency>
12
+ <Result>Success</Result>
13
+ <CaptureResult>Success</CaptureResult> <!-- deprecated -->
14
+ <Transactions>
15
+ <Transaction>
16
+ <TransactionId>1</TransactionId>
17
+ <CardStatus>Valid</CardStatus>
18
+ <CreditCardToken>93f534a2f5d66d6ab3f16c8a7bb7e852656d4bb2
19
+ </CreditCardToken>
20
+ <CreditCardMaskedPan>411111******1111</CreditCardMaskedPan>
21
+ <ThreeDSecureResult>Not_Applicable</ThreeDSecureResult>
22
+ <BlacklistToken>4f244dec4907eba0f6432e53b17a60ebcf51365e
23
+ </BlacklistToken>
24
+ <ShopOrderId>myorderid</ShopOrderId>
25
+ <Shop>Pensio Shop</Shop>
26
+ <Terminal>Pensio Test Terminal</Terminal>
27
+ <TransactionStatus>captured</TransactionStatus>
28
+ <MerchantCurrency>978</MerchantCurrency>
29
+ <CardHolderCurrency>978</CardHolderCurrency>
30
+ <ReservedAmount>1.00</ReservedAmount>
31
+ <CapturedAmount>1.00</CapturedAmount>
32
+ <RefundedAmount>0</RefundedAmount>
33
+ <RecurringDefaultAmount>0</RecurringDefaultAmount>
34
+ <CreatedDate>2010-09-28 12:34:56</CreatedDate>
35
+ <UpdatedDate>2010-09-28 12:34:56</UpdatedDate>
36
+ <PaymentNature>CreditCard</PaymentNature>
37
+ <PaymentNatureService name="TestAcquirer">
38
+ <SupportsRefunds>true</SupportsRefunds>
39
+ <SupportsRelease>true</SupportsRelease>
40
+ <SupportsMultipleCaptures>true</SupportsMultipleCaptures>
41
+ <SupportsMultipleRefunds>false</SupportsMultipleRefunds>
42
+ </PaymentNatureService>
43
+ <FraudRiskScore>13.37</FraudRiskScore>
44
+ <FraudExplanation>Fraud detection explanation</FraudExplanation>
45
+ <PaymentInfos>
46
+ <PaymentInfo name="Form_Created_At">2010-09-28 12:34:56</PaymentInfo>
47
+ <PaymentInfo name="Form_Provider">Pensio Test Form</PaymentInfo>
48
+ <PaymentInfo name="Merchant_Provided_Info">Some info by merchant</PaymentInfo>
49
+ </PaymentInfos>
50
+ <CustomerInfo>
51
+ <UserAgent>Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.7
52
+ (KHTML, like Gecko) Chrome/16.0.912.41 Safari/535.7</UserAgent>
53
+ <IpAddress>127.127.127.127</IpAddress>
54
+ <Email>support@pensio.com</Email>
55
+ <Username>support</Username>
56
+ <CustomerPhone>+45 7020 0056</CustomerPhone>
57
+ <OrganisationNumber>12345678</OrganisationNumber>
58
+ <CountryOfOrigin>
59
+ <Country>DK</Country>
60
+ <Source>BillingAddress</Source>
61
+ </CountryOfOrigin>
62
+ <BillingAddress>
63
+ <Firstname>Palle</Firstname>
64
+ <Lastname>Simonsen</Lastname>
65
+ <Address>Rosenkæret 13</Address>
66
+ <City>Søborg</City>
67
+ <PostalCode>2860</PostalCode>
68
+ <Country>DK</Country>
69
+ </BillingAddress>
70
+ <ShippingAddress />
71
+ <RegisteredAddress />
72
+ </CustomerInfo>
73
+ <ReconciliationIdentifiers>
74
+ <ReconciliationIdentifier>
75
+ <Id>f4e2533e-c578-4383-b075-bc8a6866784a</Id>
76
+ <Amount currency="978">1.00</Amount>
77
+ <Type>captured</Type>
78
+ <Date>2010-09-28T12:00:00+02:00</Date>
79
+ </ReconciliationIdentifier>
80
+ </ReconciliationIdentifiers>
81
+ </Transaction>
82
+ </Transactions>
83
+ </Body>
84
+ </APIResponse>
@@ -0,0 +1,89 @@
1
+ <?xml version="1.0" encoding="utf-8" ?>
2
+ <APIResponse version="20100929">
3
+ <Header>
4
+ <Date>2010-09-29T12:34:56+02:00</Date>
5
+ <Path>API/chargeSubscription</Path>
6
+ <ErrorCode>0</ErrorCode>
7
+ <ErrorMessage></ErrorMessage>
8
+ </Header>
9
+ <Body>
10
+ <Result>Success</Result>
11
+ <Transactions>
12
+ <Transaction>
13
+ <TransactionId>1</TransactionId>
14
+ <CardStatus>Valid</CardStatus>
15
+ <CreditCardToken>93f534a2f5d66d6ab3f16c8a7bb7e852656d4bb2</CreditCardToken>
16
+ <CreditCardMaskedPan>411111******1111</CreditCardMaskedPan>
17
+ <ThreeDSecureResult>Not_Applicable</ThreeDSecureResult>
18
+ <BlacklistToken>4f244dec4907eba0f6432e53b17a60ebcf51365e</BlacklistToken>
19
+ <ShopOrderId>myorderid</ShopOrderId>
20
+ <Shop>Pensio Shop</Shop>
21
+ <Terminal>Pensio Test Terminal</Terminal>
22
+ <TransactionStatus>recurring_confirmed</TransactionStatus>
23
+ <MerchantCurrency>978</MerchantCurrency>
24
+ <CardHolderCurrency>978</CardHolderCurrency>
25
+ <ReservedAmount>0</ReservedAmount>
26
+ <CapturedAmount>0</CapturedAmount>
27
+ <RefundedAmount>0</RefundedAmount>
28
+ <RecurringDefaultAmount>10.00</RecurringDefaultAmount>
29
+ <CreatedDate>2010-09-28 12:34:56</CreatedDate>
30
+ <UpdatedDate>2010-09-28 12:34:56</UpdatedDate>
31
+ <PaymentNature>CreditCard</PaymentNature>
32
+ <PaymentNatureService name="TestAcquirer">
33
+ <SupportsRefunds>true</SupportsRefunds>
34
+ <SupportsRelease>true</SupportsRelease>
35
+ <SupportsMultipleCaptures>true</SupportsMultipleCaptures>
36
+ <SupportsMultipleRefunds>false</SupportsMultipleRefunds>
37
+ </PaymentNatureService>
38
+ <FraudRiskScore>13.37</FraudRiskScore>
39
+ <FraudExplanation>Fraud detection explanation</FraudExplanation>
40
+ <PaymentInfos>
41
+ <PaymentInfo name="Form_Created_At">2010-09-28 12:34:56</PaymentInfo>
42
+ <PaymentInfo name="Form_Provider">Pensio Test Form</PaymentInfo>
43
+ <PaymentInfo name="Merchant_Provided_Info">Some info by merchant</PaymentInfo>
44
+ </PaymentInfos>
45
+ <CustomerInfo/>
46
+ <ReconciliationIdentifiers />
47
+ </Transaction>
48
+ <Transaction>
49
+ <TransactionId>2</TransactionId>
50
+ <CardStatus>Valid</CardStatus>
51
+ <CreditCardToken>93f534a2f5d66d6ab3f16c8a7bb7e852656d4bb2</CreditCardToken>
52
+ <CreditCardMaskedPan>411111******1111</CreditCardMaskedPan>
53
+ <ThreeDSecureResult>Not_Applicable</ThreeDSecureResult>
54
+ <BlacklistToken>4f244dec4907eba0f6432e53b17a60ebcf51365e</BlacklistToken>
55
+ <ShopOrderId>myorderid</ShopOrderId>
56
+ <Shop>Pensio Shop</Shop>
57
+ <Terminal>Pensio Test Terminal</Terminal>
58
+ <TransactionStatus>captured</TransactionStatus>
59
+ <MerchantCurrency>978</MerchantCurrency>
60
+ <CardHolderCurrency>978</CardHolderCurrency>
61
+ <ReservedAmount>5.00</ReservedAmount>
62
+ <CapturedAmount>5.00</CapturedAmount>
63
+ <RefundedAmount>0</RefundedAmount>
64
+ <RecurringDefaultAmount>0</RecurringDefaultAmount>
65
+ <CreatedDate>2010-09-28 12:34:56</CreatedDate>
66
+ <UpdatedDate>2010-09-28 12:34:56</UpdatedDate>
67
+ <PaymentNature>CreditCard</PaymentNature>
68
+ <PaymentNatureService name="TestAcquirer">
69
+ <SupportsRefunds>true</SupportsRefunds>
70
+ <SupportsRelease>true</SupportsRelease>
71
+ <SupportsMultipleCaptures>true</SupportsMultipleCaptures>
72
+ <SupportsMultipleRefunds>false</SupportsMultipleRefunds>
73
+ </PaymentNatureService>
74
+ <FraudRiskScore>13.37</FraudRiskScore>
75
+ <FraudExplanation>Fraud detection explanation</FraudExplanation>
76
+ <PaymentInfos/>
77
+ <CustomerInfo/>
78
+ <ReconciliationIdentifiers>
79
+ <ReconciliationIdentifier>
80
+ <Id>f4e2533e-c578-4383-b075-bc8a6866784a</Id>
81
+ <Amount currency="978">5.00</Amount>
82
+ <Type>captured</Type>
83
+ <Date>2010-09-28T12:34:56+02:00</Date>
84
+ </ReconciliationIdentifier>
85
+ </ReconciliationIdentifiers>
86
+ </Transaction>
87
+ </Transactions>
88
+ </Body>
89
+ </APIResponse>
@@ -0,0 +1,13 @@
1
+ <?xml version="1.0"?>
2
+ <APIResponse version="20130430">
3
+ <Header>
4
+ <Date>2013-04-30T14:49:35+02:00</Date>
5
+ <Path>API/createMultiPaymentRequest</Path>
6
+ <ErrorCode>0</ErrorCode>
7
+ <ErrorMessage/>
8
+ </Header>
9
+ <Body>
10
+ <Result>Success</Result>
11
+ <Url>https://gateway.pensio.com/merchant.php/API/multiRequestForm?mpid=d1cac3c7-4747-46a4-a001-89e3d9b1afa2</Url>
12
+ </Body>
13
+ </APIResponse>
@@ -0,0 +1,13 @@
1
+ <?xml version="1.0"?>
2
+ <APIResponse version="20100929">
3
+ <Header>
4
+ <Date>2010-09-29T12:34:56+02:00</Date>
5
+ <Path>API/createPaymentRequest</Path>
6
+ <ErrorCode>0</ErrorCode>
7
+ <ErrorMessage></ErrorMessage>
8
+ </Header>
9
+ <Body>
10
+ <Result>Success</Result>
11
+ <Url>https://gateway.pensio.com/merchant.php/API/requestForm?pid=2349494a-6adf-49f7-8096-2125a969e104</Url>
12
+ </Body>
13
+ </APIResponse>
@@ -0,0 +1,76 @@
1
+ <?xml version="1.0"?>
2
+ <APIResponse version="20130430">
3
+ <Header>
4
+ <Date>2014-02-03T13:56:08+01:00</Date>
5
+ <Path>API/reservationOfFixedAmount</Path>
6
+ <ErrorCode>0</ErrorCode>
7
+ <ErrorMessage/>
8
+ </Header>
9
+ <Body>
10
+ <Result>Failed</Result>
11
+ <MerchantErrorMessage>Card Declined</MerchantErrorMessage>
12
+ <CardHolderErrorMessage>Failed</CardHolderErrorMessage>
13
+ <Transactions>
14
+ <Transaction>
15
+ <TransactionId>776391</TransactionId>
16
+ <AuthType>subscriptionAndCharge</AuthType>
17
+ <CardStatus>Valid</CardStatus>
18
+ <CreditCardExpiry>
19
+ <Year>2019</Year>
20
+ <Month>03</Month>
21
+ </CreditCardExpiry>
22
+ <CreditCardToken>3efab5fb38d178067ddca56fe7f15d54b562e0f6</CreditCardToken>
23
+ <CreditCardMaskedPan>559000******1466</CreditCardMaskedPan>
24
+ <ThreeDSecureResult>Not_Attempted</ThreeDSecureResult>
25
+ <CVVCheckResult>Not_Attempted</CVVCheckResult>
26
+ <BlacklistToken>d3841c4e54f5511f93eab7e7a6f0213e8b318449</BlacklistToken>
27
+ <ShopOrderId>1ba6d83e_usd-annual_38_d7a1627a2425a29851f8e65a68ad1987432b589c53b29ddf2afbf4e04c547e17</ShopOrderId>
28
+ <Shop>A Small World</Shop>
29
+ <Terminal>A Small World Test Terminal</Terminal>
30
+ <TransactionStatus>recurring_failed</TransactionStatus>
31
+ <MerchantCurrency>840</MerchantCurrency>
32
+ <CardHolderCurrency>840</CardHolderCurrency>
33
+ <ReservedAmount>0.00</ReservedAmount>
34
+ <CapturedAmount>0.00</CapturedAmount>
35
+ <RefundedAmount>0.00</RefundedAmount>
36
+ <RecurringDefaultAmount>0.00</RecurringDefaultAmount>
37
+ <CreatedDate>2014-02-03 13:56:07</CreatedDate>
38
+ <UpdatedDate>2014-02-03 13:56:08</UpdatedDate>
39
+ <PaymentNature>CreditCard</PaymentNature>
40
+ <PaymentSchemeName>MasterCard</PaymentSchemeName>
41
+ <PaymentNatureService name="SoapTestAcquirer">
42
+ <SupportsRefunds>true</SupportsRefunds>
43
+ <SupportsRelease>true</SupportsRelease>
44
+ <SupportsMultipleCaptures>true</SupportsMultipleCaptures>
45
+ <SupportsMultipleRefunds>true</SupportsMultipleRefunds>
46
+ </PaymentNatureService>
47
+ <AddressVerification>1</AddressVerification>
48
+ <AddressVerificationDescription>Invalid address verification response code</AddressVerificationDescription>
49
+ <ChargebackEvents/>
50
+ <PaymentInfos/>
51
+ <CustomerInfo>
52
+ <UserAgent>Mozilla/5.0 (X11; Linux x86_64; rv:26.0) Gecko/20100101 Firefox/26.0</UserAgent>
53
+ <IpAddress>46.208.242.190</IpAddress>
54
+ <Email/>
55
+ <Username/>
56
+ <CustomerPhone/>
57
+ <OrganisationNumber/>
58
+ <CountryOfOrigin>
59
+ <Country>US</Country>
60
+ <Source>CardNumber</Source>
61
+ </CountryOfOrigin>
62
+ <BillingAddress>
63
+ <Firstname/>
64
+ <Lastname/>
65
+ <Address><![CDATA[112 Test]]></Address>
66
+ <City><![CDATA[Magdeburg]]></City>
67
+ <Region><![CDATA[]]></Region>
68
+ <Country><![CDATA[DE]]></Country>
69
+ <PostalCode><![CDATA[34567]]></PostalCode>
70
+ </BillingAddress>
71
+ </CustomerInfo>
72
+ <ReconciliationIdentifiers/>
73
+ </Transaction>
74
+ </Transactions>
75
+ </Body>
76
+ </APIResponse>
@@ -0,0 +1,6 @@
1
+ Date;Type;ID;"Reconciliation Identifier";Payment;Order;Terminal;Shop;"Transaction Currency";"Transaction Amount";"Exchange Rate";"Settlement Currency";"Settlement Amount";"Fixed Fee";"Fixed Fee VAT";"Rate Based Fee";"Rate Based Fee VAT"
2
+
3
+ "2010-09-22 00:00:00";payment;5;3f664acc-c71d-45e6-8c6a-a15838451a77;5;"settlement functional4c9a127b159a0";"Pensio Test Terminal";"Pensio Functional Test Shop";EUR;50.00;100.000000;EUR;50.00;;;;
4
+ "2010-09-22 00:00:00";payment;6;3f664acc-c71d-45e6-8c6a-a15838451a77;5;"settlement functional4c9a127b159a0";"Pensio Test Terminal";"Pensio Functional Test Shop";EUR;50.00;100.000000;EUR;50.00;;;;
5
+ "2010-09-22 00:00:00";payment;7;3f664acc-c71d-45e6-8c6a-a15838451a77;5;"settlement functional4c9a127b159a0";"Pensio Test Terminal";"Pensio Functional Test Shop";EUR;50.00;100.000000;EUR;50.00;;;;
6
+ "2010-09-22 00:00:00";payment;8;3f664acc-c71d-45e6-8c6a-a15838451a77;5;"settlement functional4c9a127b159a0";"Pensio Test Terminal";"Pensio Functional Test Shop";EUR;50.00;100.000000;EUR;50.00;;;;
@@ -0,0 +1,43 @@
1
+ <?xml version="1.0" encoding="utf-8" ?>
2
+ <APIResponse version="20100929">
3
+ <Header>
4
+ <Date>2010-09-29T12:34:56+02:00</Date>
5
+ <Path>API/fundingList</Path>
6
+ <ErrorCode>0</ErrorCode>
7
+ <ErrorMessage></ErrorMessage>
8
+ </Header>
9
+ <Body>
10
+ <Fundings numberOfPages="1">
11
+ <Funding>
12
+ <Filename>CreatedByTest</Filename>
13
+ <ContractIdentifier>1234567890123456</ContractIdentifier>
14
+ <Shops>
15
+ <Shop>Pensio Functional Test Shop</Shop>
16
+ <Shop>Pensio Functional Test Shop Two</Shop>
17
+ </Shops>
18
+ <Acquirer>TestAcquirer</Acquirer>
19
+ <FundingDate>2010-09-26</FundingDate>
20
+ <Amount>50.00 EUR</Amount>
21
+ <CreatedDate>2010-09-27</CreatedDate>
22
+ <DownloadLink>
23
+ http://localhost/merchant.php/API/fundingDownload?id=1
24
+ </DownloadLink>
25
+ </Funding>
26
+ <Funding>
27
+ <Filename>CreatedByTest</Filename>
28
+ <ContractIdentifier>1234567890123456</ContractIdentifier>
29
+ <Shops>
30
+ <Shop>Pensio Functional Test Shop</Shop>
31
+ <Shop>Pensio Functional Test Shop Two</Shop>
32
+ </Shops>
33
+ <Acquirer>TestAcquirer</Acquirer>
34
+ <FundingDate>2010-09-26</FundingDate>
35
+ <Amount>50.00 EUR</Amount>
36
+ <CreatedDate>2010-09-27</CreatedDate>
37
+ <DownloadLink>
38
+ http://localhost/merchant.php/API/fundingDownload?id=2
39
+ </DownloadLink>
40
+ </Funding>
41
+ </Fundings>
42
+ </Body>
43
+ </APIResponse>
@@ -0,0 +1,38 @@
1
+ <?xml version="1.0"?>
2
+ <APIResponse version="20100929">
3
+ <Header>
4
+ <Date>2011-05-11T23:43:20+02:00</Date>
5
+ <Path>API/getTerminals</Path>
6
+ <ErrorCode>0</ErrorCode>
7
+ <ErrorMessage></ErrorMessage>
8
+ </Header>
9
+ <Body>
10
+ <Result>OK</Result>
11
+ <Terminals>
12
+ <Terminal>
13
+ <Title>Pensio Multi-Nature Terminal</Title>
14
+ <Country>DK</Country>
15
+ <Natures>
16
+ <Nature>CreditCard</Nature>
17
+ <Nature>EPayment</Nature>
18
+ <Nature>IdealPayment</Nature>
19
+ <Nature>Invoice</Nature>
20
+ </Natures>
21
+ <Currencies>
22
+ <Currency>DKK</Currency>
23
+ <Currency>EUR</Currency>
24
+ </Currencies>
25
+ </Terminal>
26
+ <Terminal>
27
+ <Title>Pensio Test Terminal</Title>
28
+ <Country></Country>
29
+ <Natures>
30
+ <Nature>BankPayment</Nature>
31
+ </Natures>
32
+ <Currencies>
33
+ <Currency>EUR</Currency>
34
+ </Currencies>
35
+ </Terminal>
36
+ </Terminals>
37
+ </Body>
38
+ </APIResponse>
@@ -0,0 +1,12 @@
1
+ <?xml version="1.0"?>
2
+ <APIResponse version="20100929">
3
+ <Header>
4
+ <Date>2011-05-11T23:43:20+02:00</Date>
5
+ <Path>API/getTerminals</Path>
6
+ <ErrorCode>0</ErrorCode>
7
+ <ErrorMessage></ErrorMessage>
8
+ </Header>
9
+ <Body>
10
+ <Result/>
11
+ </Body>
12
+ </APIResponse>
@@ -0,0 +1,28 @@
1
+ <?xml version="1.0"?>
2
+ <APIResponse version="20100929">
3
+ <Header>
4
+ <Date>2011-05-11T23:43:20+02:00</Date>
5
+ <Path>API/getTerminals</Path>
6
+ <ErrorCode>0</ErrorCode>
7
+ <ErrorMessage></ErrorMessage>
8
+ </Header>
9
+ <Body>
10
+ <Result>OK</Result>
11
+ <Terminals>
12
+ <Terminal>
13
+ <Title>Pensio Multi-Nature Terminal</Title>
14
+ <Country>DK</Country>
15
+ <Natures>
16
+ <Nature>CreditCard</Nature>
17
+ <Nature>EPayment</Nature>
18
+ <Nature>IdealPayment</Nature>
19
+ <Nature>Invoice</Nature>
20
+ </Natures>
21
+ <Currencies>
22
+ <Currency>DKK</Currency>
23
+ <Currency>EUR</Currency>
24
+ </Currencies>
25
+ </Terminal>
26
+ </Terminals>
27
+ </Body>
28
+ </APIResponse>