pagseguro-sdk 2.6.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.
- checksums.yaml +7 -0
- data/.github/.gitignore +204 -0
- data/.github/ISSUE_TEMPLATE/relatorio-de-bug.md +29 -0
- data/.github/workflows/codacy-analysis.yml +46 -0
- data/.gitignore +28 -0
- data/.rspec +1 -0
- data/.travis.yml +13 -0
- data/CHANGELOG.md +95 -0
- data/CONTRIBUTING.md +39 -0
- data/Dockerfile +20 -0
- data/Gemfile +2 -0
- data/LICENSE-2.0.txt +177 -0
- data/README.md +436 -0
- data/Rakefile +5 -0
- data/docker-compose.yml +5 -0
- data/docs/transparent_checkout.md +201 -0
- data/examples/authorization/create_authorization.rb +32 -0
- data/examples/authorization/create_authorization_with_account.rb +56 -0
- data/examples/authorization/search/search_authorization_by_code.rb +29 -0
- data/examples/authorization/search/search_authorization_by_date.rb +35 -0
- data/examples/authorization/search/search_authorization_by_notification_code.rb +29 -0
- data/examples/authorization/search/search_authorization_by_reference.rb +31 -0
- data/examples/boot.rb +26 -0
- data/examples/checkout/create_payment_request.rb +63 -0
- data/examples/checkout/search/search_abandoned_transactions.rb +41 -0
- data/examples/checkout/search/search_transaction_by_code.rb +76 -0
- data/examples/checkout/search/search_transaction_by_notification_code.rb +76 -0
- data/examples/checkout/search/search_transaction_by_reference.rb +36 -0
- data/examples/checkout/search/search_transactions_by_date.rb +45 -0
- data/examples/create_session.rb +19 -0
- data/examples/direct/create_transaction_using_boleto.rb +100 -0
- data/examples/direct/create_transaction_using_credit_card.rb +128 -0
- data/examples/direct/create_transaction_using_online_debit.rb +104 -0
- data/examples/get_installments.rb +40 -0
- data/examples/preapproval/cancel_preapproval.rb +26 -0
- data/examples/preapproval/change_preapproval_payment.rb +50 -0
- data/examples/preapproval/change_preapproval_status.rb +29 -0
- data/examples/preapproval/charge_preapproval.rb +36 -0
- data/examples/preapproval/create_preapproval.rb +68 -0
- data/examples/preapproval/create_preapproval_auto.rb +53 -0
- data/examples/preapproval/create_preapproval_discount.rb +30 -0
- data/examples/preapproval/create_preapproval_manual.rb +58 -0
- data/examples/preapproval/create_preapproval_transparent.rb +41 -0
- data/examples/preapproval/preapproval_retry.rb +29 -0
- data/examples/preapproval/search/search_by_date_interval.rb +45 -0
- data/examples/preapproval/search/search_by_days_interval.rb +46 -0
- data/examples/preapproval/search/search_by_notification_code.rb +50 -0
- data/examples/preapproval/search/search_by_subscription_code.rb +50 -0
- data/examples/preapproval/search/search_subscription_payment_orders.rb +53 -0
- data/examples/request_transaction_cancellation.rb +19 -0
- data/examples/split_payment/create_authorization.rb +32 -0
- data/examples/split_payment/create_payment_request.rb +71 -0
- data/examples/split_payment/create_transaction_using_boleto.rb +118 -0
- data/examples/split_payment/create_transaction_using_credit_card.rb +152 -0
- data/lib/pagseguro-oficial.rb +1 -0
- data/lib/pagseguro.rb +221 -0
- data/lib/pagseguro/account.rb +29 -0
- data/lib/pagseguro/account_credentials.rb +14 -0
- data/lib/pagseguro/address.rb +40 -0
- data/lib/pagseguro/application_credentials.rb +18 -0
- data/lib/pagseguro/authorization.rb +61 -0
- data/lib/pagseguro/authorization/collection.rb +28 -0
- data/lib/pagseguro/authorization/request_serializer.rb +24 -0
- data/lib/pagseguro/authorization/response.rb +49 -0
- data/lib/pagseguro/authorization/response_serializer.rb +40 -0
- data/lib/pagseguro/authorization_request.rb +84 -0
- data/lib/pagseguro/authorization_request/request_serializer.rb +142 -0
- data/lib/pagseguro/authorization_request/response.rb +26 -0
- data/lib/pagseguro/authorization_request/response_serializer.rb +18 -0
- data/lib/pagseguro/bank.rb +8 -0
- data/lib/pagseguro/boleto_transaction_request.rb +8 -0
- data/lib/pagseguro/company.rb +41 -0
- data/lib/pagseguro/config.rb +34 -0
- data/lib/pagseguro/credit_card_transaction_request.rb +39 -0
- data/lib/pagseguro/creditor_fee.rb +23 -0
- data/lib/pagseguro/document.rb +23 -0
- data/lib/pagseguro/documents.rb +5 -0
- data/lib/pagseguro/errors.rb +57 -0
- data/lib/pagseguro/exceptions.rb +3 -0
- data/lib/pagseguro/extensions/collection_object.rb +34 -0
- data/lib/pagseguro/extensions/credentiable.rb +17 -0
- data/lib/pagseguro/extensions/ensure_type.rb +9 -0
- data/lib/pagseguro/extensions/mass_assignment.rb +11 -0
- data/lib/pagseguro/holder.rb +36 -0
- data/lib/pagseguro/installment.rb +57 -0
- data/lib/pagseguro/installment/collection.rb +25 -0
- data/lib/pagseguro/installment/request_serializer.rb +24 -0
- data/lib/pagseguro/installment/response.rb +37 -0
- data/lib/pagseguro/installment/response_serializer.rb +22 -0
- data/lib/pagseguro/item.rb +34 -0
- data/lib/pagseguro/items.rb +23 -0
- data/lib/pagseguro/manual_subscription_charger.rb +59 -0
- data/lib/pagseguro/manual_subscription_charger/request_serializer.rb +50 -0
- data/lib/pagseguro/manual_subscription_charger/response.rb +36 -0
- data/lib/pagseguro/manual_subscription_charger/response_serializer.rb +17 -0
- data/lib/pagseguro/notification.rb +11 -0
- data/lib/pagseguro/notification/authorization.rb +15 -0
- data/lib/pagseguro/notification/transaction.rb +15 -0
- data/lib/pagseguro/online_debit_transaction_request.rb +17 -0
- data/lib/pagseguro/partner.rb +20 -0
- data/lib/pagseguro/payment_method.rb +39 -0
- data/lib/pagseguro/payment_release.rb +21 -0
- data/lib/pagseguro/payment_releases.rb +28 -0
- data/lib/pagseguro/payment_request.rb +117 -0
- data/lib/pagseguro/payment_request/request_serializer.rb +203 -0
- data/lib/pagseguro/payment_request/response.rb +35 -0
- data/lib/pagseguro/payment_status.rb +39 -0
- data/lib/pagseguro/permission.rb +13 -0
- data/lib/pagseguro/person.rb +40 -0
- data/lib/pagseguro/phone.rb +20 -0
- data/lib/pagseguro/phones.rb +5 -0
- data/lib/pagseguro/receiver.rb +20 -0
- data/lib/pagseguro/receiver_split.rb +15 -0
- data/lib/pagseguro/request.rb +170 -0
- data/lib/pagseguro/sender.rb +53 -0
- data/lib/pagseguro/session.rb +34 -0
- data/lib/pagseguro/session/response.rb +32 -0
- data/lib/pagseguro/session/response_serializer.rb +18 -0
- data/lib/pagseguro/shipping.rb +57 -0
- data/lib/pagseguro/subscription.rb +132 -0
- data/lib/pagseguro/subscription/request_serializer.rb +129 -0
- data/lib/pagseguro/subscription/response.rb +49 -0
- data/lib/pagseguro/subscription/response_serializer.rb +62 -0
- data/lib/pagseguro/subscription/subscription_search.rb +135 -0
- data/lib/pagseguro/subscription_canceller.rb +30 -0
- data/lib/pagseguro/subscription_canceller/response.rb +34 -0
- data/lib/pagseguro/subscription_change_payment.rb +46 -0
- data/lib/pagseguro/subscription_change_payment/request_serializer.rb +80 -0
- data/lib/pagseguro/subscription_change_payment/response.rb +26 -0
- data/lib/pagseguro/subscription_change_status.rb +50 -0
- data/lib/pagseguro/subscription_change_status/request_serializer.rb +28 -0
- data/lib/pagseguro/subscription_change_status/response.rb +26 -0
- data/lib/pagseguro/subscription_discount.rb +41 -0
- data/lib/pagseguro/subscription_discount/request_serializer.rb +34 -0
- data/lib/pagseguro/subscription_discount/response.rb +34 -0
- data/lib/pagseguro/subscription_payment_method.rb +21 -0
- data/lib/pagseguro/subscription_payment_order.rb +57 -0
- data/lib/pagseguro/subscription_payment_order/response.rb +37 -0
- data/lib/pagseguro/subscription_payment_order/response_serializer.rb +51 -0
- data/lib/pagseguro/subscription_plan.rb +69 -0
- data/lib/pagseguro/subscription_plan/request_serializer.rb +81 -0
- data/lib/pagseguro/subscription_plan/response.rb +36 -0
- data/lib/pagseguro/subscription_plan/response_serializer.rb +17 -0
- data/lib/pagseguro/subscription_retry.rb +35 -0
- data/lib/pagseguro/subscription_retry/response.rb +34 -0
- data/lib/pagseguro/subscription_search_payment_orders.rb +131 -0
- data/lib/pagseguro/subscription_transaction.rb +29 -0
- data/lib/pagseguro/subscription_transactions.rb +5 -0
- data/lib/pagseguro/transaction.rb +215 -0
- data/lib/pagseguro/transaction/collection.rb +20 -0
- data/lib/pagseguro/transaction/response.rb +45 -0
- data/lib/pagseguro/transaction/search.rb +121 -0
- data/lib/pagseguro/transaction/search/search_abandoned.rb +20 -0
- data/lib/pagseguro/transaction/search/search_by_date.rb +16 -0
- data/lib/pagseguro/transaction/search/search_by_reference.rb +13 -0
- data/lib/pagseguro/transaction/serializer.rb +181 -0
- data/lib/pagseguro/transaction_cancellation.rb +37 -0
- data/lib/pagseguro/transaction_cancellation/request_serializer.rb +18 -0
- data/lib/pagseguro/transaction_cancellation/response.rb +33 -0
- data/lib/pagseguro/transaction_cancellation/response_serializer.rb +17 -0
- data/lib/pagseguro/transaction_installment.rb +11 -0
- data/lib/pagseguro/transaction_refund.rb +44 -0
- data/lib/pagseguro/transaction_refund/request_serializer.rb +24 -0
- data/lib/pagseguro/transaction_refund/response.rb +33 -0
- data/lib/pagseguro/transaction_refund/response_serializer.rb +17 -0
- data/lib/pagseguro/transaction_request.rb +165 -0
- data/lib/pagseguro/transaction_request/request_serializer.rb +311 -0
- data/lib/pagseguro/transaction_request/response.rb +33 -0
- data/lib/pagseguro/transaction_request/response_serializer.rb +117 -0
- data/lib/pagseguro/transaction_status.rb +14 -0
- data/lib/pagseguro/version.rb +3 -0
- data/locales/pt-BR.yml +130 -0
- data/pagseguro-oficial.gemspec +31 -0
- data/spec/fixtures/authorization/find_authorization.xml +17 -0
- data/spec/fixtures/authorization/search_authorization.xml +47 -0
- data/spec/fixtures/authorization_request/authorization_request.xml +11 -0
- data/spec/fixtures/authorization_request/authorization_request_with_account.xml +47 -0
- data/spec/fixtures/authorization_request/success.xml +4 -0
- data/spec/fixtures/by_date/success.xml +85 -0
- data/spec/fixtures/installment/success.xml +24 -0
- data/spec/fixtures/invalid_code.xml +7 -0
- data/spec/fixtures/manual_subscription_charger/fail.xml +6 -0
- data/spec/fixtures/manual_subscription_charger/success.xml +4 -0
- data/spec/fixtures/payment_request/failure.xml +7 -0
- data/spec/fixtures/payment_request/success.xml +5 -0
- data/spec/fixtures/refund/success.xml +2 -0
- data/spec/fixtures/session/success.xml +4 -0
- data/spec/fixtures/subscription/fail.xml +6 -0
- data/spec/fixtures/subscription/find_success.xml +28 -0
- data/spec/fixtures/subscription/search_success.xml +18 -0
- data/spec/fixtures/subscription/success.xml +4 -0
- data/spec/fixtures/subscription_canceller/fail.xml +6 -0
- data/spec/fixtures/subscription_change_payment/fail.xml +7 -0
- data/spec/fixtures/subscription_change_status/fail.xml +7 -0
- data/spec/fixtures/subscription_discount/fail.xml +6 -0
- data/spec/fixtures/subscription_payment_order/success.xml +18 -0
- data/spec/fixtures/subscription_plan/fail.xml +6 -0
- data/spec/fixtures/subscription_plan/success.xml +4 -0
- data/spec/fixtures/subscription_retry/fail.xml +7 -0
- data/spec/fixtures/subscription_search_payment_orders/success.xml +43 -0
- data/spec/fixtures/transaction_cancellation/success.xml +2 -0
- data/spec/fixtures/transaction_request/success.xml +58 -0
- data/spec/fixtures/transactions/additional.xml +53 -0
- data/spec/fixtures/transactions/search.xml +40 -0
- data/spec/fixtures/transactions/success.xml +75 -0
- data/spec/fixtures/transactions/without_status_and_type.xml +71 -0
- data/spec/pagseguro/account_credentials_spec.rb +10 -0
- data/spec/pagseguro/account_spec.rb +27 -0
- data/spec/pagseguro/address_spec.rb +17 -0
- data/spec/pagseguro/application_credentials_spec.rb +11 -0
- data/spec/pagseguro/authorization/collection_spec.rb +49 -0
- data/spec/pagseguro/authorization/request_serializer_spec.rb +10 -0
- data/spec/pagseguro/authorization/response_serializer_spec.rb +19 -0
- data/spec/pagseguro/authorization/response_spec.rb +90 -0
- data/spec/pagseguro/authorization_request/request_serializer_spec.rb +323 -0
- data/spec/pagseguro/authorization_request/response_serializer_spec.rb +15 -0
- data/spec/pagseguro/authorization_request/response_spec.rb +36 -0
- data/spec/pagseguro/authorization_request_spec.rb +127 -0
- data/spec/pagseguro/authorization_spec.rb +111 -0
- data/spec/pagseguro/bank_spec.rb +5 -0
- data/spec/pagseguro/boleto_transaction_request_spec.rb +9 -0
- data/spec/pagseguro/company_spec.rb +12 -0
- data/spec/pagseguro/config_spec.rb +5 -0
- data/spec/pagseguro/credit_card_transaction_request_spec.rb +36 -0
- data/spec/pagseguro/creditor_fee_spec.rb +10 -0
- data/spec/pagseguro/document_spec.rb +21 -0
- data/spec/pagseguro/documents_spec.rb +37 -0
- data/spec/pagseguro/errors_spec.rb +145 -0
- data/spec/pagseguro/extensions/collection_object_spec.rb +77 -0
- data/spec/pagseguro/features/create_session_spec.rb +52 -0
- data/spec/pagseguro/features/create_transaction_request_spec.rb +58 -0
- data/spec/pagseguro/holder_spec.rb +10 -0
- data/spec/pagseguro/installment/collection_spec.rb +43 -0
- data/spec/pagseguro/installment/request_serializer_spec.rb +16 -0
- data/spec/pagseguro/installment/response_serializer_spec.rb +33 -0
- data/spec/pagseguro/installment/response_spec.rb +56 -0
- data/spec/pagseguro/installment_spec.rb +50 -0
- data/spec/pagseguro/item_spec.rb +20 -0
- data/spec/pagseguro/items_spec.rb +148 -0
- data/spec/pagseguro/manual_subscription_charger/request_serializer_spec.rb +79 -0
- data/spec/pagseguro/manual_subscription_charger/response_serializer_spec.rb +10 -0
- data/spec/pagseguro/manual_subscription_charger/response_spec.rb +65 -0
- data/spec/pagseguro/manual_subscription_charger_spec.rb +68 -0
- data/spec/pagseguro/notification_spec.rb +6 -0
- data/spec/pagseguro/online_debit_transaction_request_spec.rb +18 -0
- data/spec/pagseguro/pagseguro_spec.rb +82 -0
- data/spec/pagseguro/partner_spec.rb +8 -0
- data/spec/pagseguro/payment_method_spec.rb +42 -0
- data/spec/pagseguro/payment_release_spec.rb +9 -0
- data/spec/pagseguro/payment_releases_spec.rb +34 -0
- data/spec/pagseguro/payment_request/request_serializer_spec.rb +283 -0
- data/spec/pagseguro/payment_request/response_spec.rb +13 -0
- data/spec/pagseguro/payment_request_spec.rb +148 -0
- data/spec/pagseguro/payment_status_spec.rb +33 -0
- data/spec/pagseguro/permission_spec.rb +7 -0
- data/spec/pagseguro/person_spec.rb +10 -0
- data/spec/pagseguro/phone_spec.rb +6 -0
- data/spec/pagseguro/phones_spec.rb +38 -0
- data/spec/pagseguro/receiver_spec.rb +7 -0
- data/spec/pagseguro/receiver_split_spec.rb +7 -0
- data/spec/pagseguro/request_spec.rb +114 -0
- data/spec/pagseguro/sender_spec.rb +25 -0
- data/spec/pagseguro/session/response_serializer_spec.rb +12 -0
- data/spec/pagseguro/session/response_spec.rb +57 -0
- data/spec/pagseguro/session_spec.rb +45 -0
- data/spec/pagseguro/shipping_spec.rb +40 -0
- data/spec/pagseguro/subscription/request_serializer_spec.rb +233 -0
- data/spec/pagseguro/subscription/response_serializer_spec.rb +46 -0
- data/spec/pagseguro/subscription/response_spec.rb +79 -0
- data/spec/pagseguro/subscription/subscription_search_spec.rb +154 -0
- data/spec/pagseguro/subscription_canceller/response_spec.rb +58 -0
- data/spec/pagseguro/subscription_canceller_spec.rb +57 -0
- data/spec/pagseguro/subscription_change_payment/request_serializer_spec.rb +150 -0
- data/spec/pagseguro/subscription_change_payment/response_spec.rb +41 -0
- data/spec/pagseguro/subscription_change_payment_spec.rb +60 -0
- data/spec/pagseguro/subscription_change_status/request_serializer_spec.rb +19 -0
- data/spec/pagseguro/subscription_change_status/response_spec.rb +41 -0
- data/spec/pagseguro/subscription_change_status_spec.rb +53 -0
- data/spec/pagseguro/subscription_discount/request_serializer_spec.rb +27 -0
- data/spec/pagseguro/subscription_discount/response_spec.rb +58 -0
- data/spec/pagseguro/subscription_discount_spec.rb +60 -0
- data/spec/pagseguro/subscription_payment_method_spec.rb +10 -0
- data/spec/pagseguro/subscription_payment_order/response_serializer_spec.rb +24 -0
- data/spec/pagseguro/subscription_payment_order/response_spec.rb +55 -0
- data/spec/pagseguro/subscription_payment_order_spec.rb +27 -0
- data/spec/pagseguro/subscription_plan/request_serializer_spec.rb +253 -0
- data/spec/pagseguro/subscription_plan/response_serializer_spec.rb +10 -0
- data/spec/pagseguro/subscription_plan/response_spec.rb +65 -0
- data/spec/pagseguro/subscription_plan_spec.rb +118 -0
- data/spec/pagseguro/subscription_retry/response_spec.rb +58 -0
- data/spec/pagseguro/subscription_retry_spec.rb +62 -0
- data/spec/pagseguro/subscription_search_payment_order_spec.rb +129 -0
- data/spec/pagseguro/subscription_spec.rb +137 -0
- data/spec/pagseguro/subscription_transaction_spec.rb +24 -0
- data/spec/pagseguro/subscription_transactions_spec.rb +37 -0
- data/spec/pagseguro/transaction/collection_spec.rb +43 -0
- data/spec/pagseguro/transaction/response_spec.rb +60 -0
- data/spec/pagseguro/transaction/search/search_abandoned_spec.rb +55 -0
- data/spec/pagseguro/transaction/search/search_by_date_spec.rb +28 -0
- data/spec/pagseguro/transaction/search/search_by_reference_spec.rb +21 -0
- data/spec/pagseguro/transaction/search_spec.rb +133 -0
- data/spec/pagseguro/transaction/serializer_spec.rb +86 -0
- data/spec/pagseguro/transaction_cancellation/request_serializer_spec.rb +13 -0
- data/spec/pagseguro/transaction_cancellation/response_serializer_spec.rb +9 -0
- data/spec/pagseguro/transaction_cancellation/response_spec.rb +45 -0
- data/spec/pagseguro/transaction_cancellation_spec.rb +60 -0
- data/spec/pagseguro/transaction_installment_spec.rb +6 -0
- data/spec/pagseguro/transaction_refund/request_serializer_spec.rb +15 -0
- data/spec/pagseguro/transaction_refund/response_serializer_spec.rb +12 -0
- data/spec/pagseguro/transaction_refund/response_spec.rb +39 -0
- data/spec/pagseguro/transaction_refund_spec.rb +71 -0
- data/spec/pagseguro/transaction_request/request_serializer_spec.rb +677 -0
- data/spec/pagseguro/transaction_request/response_serializer_spec.rb +52 -0
- data/spec/pagseguro/transaction_request/response_spec.rb +63 -0
- data/spec/pagseguro/transaction_request_spec.rb +156 -0
- data/spec/pagseguro/transaction_spec.rb +265 -0
- data/spec/pagseguro/transaction_status_spec.rb +7 -0
- data/spec/spec_helper.rb +35 -0
- data/spec/support/ensure_type_macro.rb +35 -0
- data/spec/support/helpers.rb +14 -0
- data/spec/support/mass_assignment_macro.rb +11 -0
- data/spec/support/shared_examples_for_configuration.rb +10 -0
- data/transaction/transaction_refund.rb +25 -0
- metadata +641 -0
@@ -0,0 +1,33 @@
|
|
1
|
+
module PagSeguro
|
2
|
+
class TransactionRequest
|
3
|
+
class Response
|
4
|
+
def initialize(response, object)
|
5
|
+
@response = response
|
6
|
+
@object = object
|
7
|
+
end
|
8
|
+
|
9
|
+
def serialize
|
10
|
+
if success?
|
11
|
+
xml = Nokogiri::XML(response.body).css("transaction").first
|
12
|
+
serializer = ResponseSerializer.new(xml).serialize
|
13
|
+
object.update_attributes(serializer)
|
14
|
+
else
|
15
|
+
object.errors.add(response)
|
16
|
+
end
|
17
|
+
|
18
|
+
object
|
19
|
+
end
|
20
|
+
|
21
|
+
def success?
|
22
|
+
response.success? && response.xml?
|
23
|
+
end
|
24
|
+
|
25
|
+
private
|
26
|
+
# The request response.
|
27
|
+
attr_reader :response
|
28
|
+
|
29
|
+
# The PagSeguro::TransactionRequest instance.
|
30
|
+
attr_reader :object
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,117 @@
|
|
1
|
+
module PagSeguro
|
2
|
+
class TransactionRequest
|
3
|
+
class ResponseSerializer
|
4
|
+
attr_reader :xml
|
5
|
+
|
6
|
+
def initialize(xml)
|
7
|
+
@xml = xml
|
8
|
+
end
|
9
|
+
|
10
|
+
def serialize
|
11
|
+
{}.tap do |data|
|
12
|
+
serialize_general(data)
|
13
|
+
serialize_amounts(data)
|
14
|
+
serialize_dates(data)
|
15
|
+
serialize_items(data)
|
16
|
+
serialize_sender(data)
|
17
|
+
serialize_shipping(data) if xml.css("shipping").any?
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
private
|
22
|
+
def serialize_general(data)
|
23
|
+
data[:code] = xml.css("> code").text
|
24
|
+
data[:reference] = xml.css("reference").text
|
25
|
+
data[:type_id] = xml.css("> type").text
|
26
|
+
data[:payment_link] = xml.css("paymentLink").text
|
27
|
+
data[:status] = xml.css("> status").text
|
28
|
+
|
29
|
+
data[:payment_method] = {
|
30
|
+
type_id: xml.css("paymentMethod > type").text,
|
31
|
+
code: xml.css("paymentMethod > code").text
|
32
|
+
}
|
33
|
+
end
|
34
|
+
|
35
|
+
def serialize_dates(data)
|
36
|
+
data[:created_at] = Time.parse(xml.css("date").text)
|
37
|
+
|
38
|
+
updated_at = xml.css("lastEventDate").text
|
39
|
+
data[:updated_at] = Time.parse(updated_at) unless updated_at.empty?
|
40
|
+
end
|
41
|
+
|
42
|
+
def serialize_amounts(data)
|
43
|
+
data[:gross_amount] = BigDecimal(xml.css("grossAmount").text.to_f.to_s)
|
44
|
+
data[:discount_amount] = BigDecimal(xml.css("discountAmount").text.to_f.to_s)
|
45
|
+
data[:net_amount] = BigDecimal(xml.css("netAmount").text.to_f.to_s)
|
46
|
+
data[:extra_amount] = BigDecimal(xml.css("extraAmount").text.to_f.to_s)
|
47
|
+
data[:installment_count] = xml.css("installmentCount").text.to_i
|
48
|
+
end
|
49
|
+
|
50
|
+
def serialize_items(data)
|
51
|
+
data[:items] = []
|
52
|
+
|
53
|
+
xml.css("items > item").each do |node|
|
54
|
+
item = {}
|
55
|
+
item[:id] = node.css("id").text
|
56
|
+
item[:description] = node.css("description").text
|
57
|
+
item[:quantity] = node.css("quantity").text.to_i
|
58
|
+
item[:amount] = BigDecimal(node.css("amount").text.to_f.to_s)
|
59
|
+
|
60
|
+
data[:items] << item
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
def serialize_sender(data)
|
65
|
+
sender = {
|
66
|
+
name: xml.css("sender > name").text,
|
67
|
+
email: xml.css("sender > email").text
|
68
|
+
}
|
69
|
+
|
70
|
+
serialize_phone(sender)
|
71
|
+
serialize_document(sender)
|
72
|
+
data[:sender] = sender
|
73
|
+
end
|
74
|
+
|
75
|
+
def serialize_document(data)
|
76
|
+
data[:document] = {
|
77
|
+
type: xml.css("sender > documents > document > type").text,
|
78
|
+
value: xml.css("sender > documents > document > value").text
|
79
|
+
}
|
80
|
+
end
|
81
|
+
|
82
|
+
def serialize_phone(data)
|
83
|
+
data[:phone] = {
|
84
|
+
area_code: xml.css("sender > phone > areaCode").text,
|
85
|
+
number: xml.css("sender > phone > number").text
|
86
|
+
}
|
87
|
+
end
|
88
|
+
|
89
|
+
def serialize_shipping(data)
|
90
|
+
shipping = {
|
91
|
+
type_id: xml.css("shipping > type").text,
|
92
|
+
cost: BigDecimal(xml.css("shipping > cost").text.to_f.to_s),
|
93
|
+
}
|
94
|
+
|
95
|
+
serialize_address(shipping)
|
96
|
+
data[:shipping] = shipping
|
97
|
+
end
|
98
|
+
|
99
|
+
def serialize_address(data)
|
100
|
+
data[:address] = {
|
101
|
+
street: address_node.css("> street").text,
|
102
|
+
number: address_node.css("> number").text,
|
103
|
+
complement: address_node.css("> complement").text,
|
104
|
+
district: address_node.css("> district").text,
|
105
|
+
city: address_node.css("> city").text,
|
106
|
+
state: address_node.css("> state").text,
|
107
|
+
country: address_node.css("> country").text,
|
108
|
+
postal_code: address_node.css("> postalCode").text,
|
109
|
+
}
|
110
|
+
end
|
111
|
+
|
112
|
+
def address_node
|
113
|
+
@address_node ||= xml.css("shipping > address")
|
114
|
+
end
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module PagSeguro
|
2
|
+
class TransactionStatus
|
3
|
+
include Extensions::MassAssignment
|
4
|
+
|
5
|
+
# The transaction status code
|
6
|
+
attr_accessor :code
|
7
|
+
|
8
|
+
# The date of the status change
|
9
|
+
attr_accessor :date
|
10
|
+
|
11
|
+
# The code of the notification sent when the status changed
|
12
|
+
attr_accessor :notification_code
|
13
|
+
end
|
14
|
+
end
|
data/locales/pt-BR.yml
ADDED
@@ -0,0 +1,130 @@
|
|
1
|
+
pt-BR:
|
2
|
+
pagseguro:
|
3
|
+
errors:
|
4
|
+
unauthorized: "Não autorizado."
|
5
|
+
forbidden: "Proibido."
|
6
|
+
not_found: "Não encontrado."
|
7
|
+
"10001": "O parâmetro email deve ser informado."
|
8
|
+
"10002": "O parâmetro token deve ser informado."
|
9
|
+
"10003": "O valor informado no parâmetro email é inválido."
|
10
|
+
"11001": "O parâmetro receiverEmail deve ser informado."
|
11
|
+
"11002": "O tamanho do valor informado no parâmetro receiverEmail é inválido."
|
12
|
+
"11003": "O valor informado no parâmetro receiverEmail é inválido."
|
13
|
+
"11004": "O parâmetro currency deve ser informado."
|
14
|
+
"11005": "O valor informado no parâmetro currency é inválido."
|
15
|
+
"11006": "O tamanho do valor informado no parâmetro redirectURL é inválido."
|
16
|
+
"11007": "O valor informado no parâmetro redirectURL é inválido."
|
17
|
+
"11008": "O tamanho do valor informado no parâmetro reference é inválido."
|
18
|
+
"11009": "O tamanho do valor informado no parâmetro senderEmail é inválido."
|
19
|
+
"11010": "O valor informado no parâmetro senderEmail é inválido."
|
20
|
+
"11011": "O tamanho do valor informado no parâmetro senderName é inválido."
|
21
|
+
"11012": "O valor informado no parâmetro senderName é inválido."
|
22
|
+
"11013": "O valor informado no parâmetro senderAreaCode é inválido."
|
23
|
+
"11014": "O valor informado no parâmetro senderPhone é inválido."
|
24
|
+
"11015": "O parâmetro shippingType deve ser informado."
|
25
|
+
"11016": "O tipo definido no parâmetro shippingType é inválido."
|
26
|
+
"11017": "O valor informado no parâmetro shippingPostalCode é inválido."
|
27
|
+
"11018": "O tamanho do valor informado no parâmetro shippingAddressStreet é inválido."
|
28
|
+
"11019": "O tamanho do valor informado no parâmetro shippingAddressNumber é inválido."
|
29
|
+
"11020": "O tamanho do valor informado no parâmetro shippingAddressComplement é inválido."
|
30
|
+
"11021": "O tamanho do valor informado no parâmetro shippingAddressDistrict é inválido."
|
31
|
+
"11022": "O tamanho do valor informado no parâmetro shippingAddressCity é inválido."
|
32
|
+
"11023": "O formato do valor informado no parâmetro shippingAddressState é inválido."
|
33
|
+
"11024": "O valor informado no parâmetro itemQuantity é inválido."
|
34
|
+
"11025": "O parâmetro itemId deve ser informado."
|
35
|
+
"11026": "O parâmetro itemQuantity deve ser informado."
|
36
|
+
"11027": "O valor informado no parâmetro itemQuantity é inválido."
|
37
|
+
"11028": "O parâmetro itemAmount deve ser informado."
|
38
|
+
"11029": "O formato do valor informado no parâmetro itemAmount é inválido."
|
39
|
+
"11030": "O valor informado no parâmetro itemAmount é inválido."
|
40
|
+
"11031": "O formato do valor informado no parâmetro itemShippingCost é inválido."
|
41
|
+
"11032": "O valor informado no parâmetro itemShippingCost é inválido."
|
42
|
+
"11033": "O parâmetro itemDescription deve ser informado."
|
43
|
+
"11034": "O tamanho do valor informado no parâmetro itemDescription é inválido."
|
44
|
+
"11035": "O valor informado no parâmetro itemWeight é inválido."
|
45
|
+
"11036": "O formato do valor informado no parâmetro extraAmount é inválido."
|
46
|
+
"11037": "O valor informado no parâmetro extraAmount é inválido."
|
47
|
+
"11038": "Valor não autorizado para receiverEmail."
|
48
|
+
"11039": "A estrutura do xml está incorreta."
|
49
|
+
"11040": "O formato do valor informado no parâmetro maxAge é inválido."
|
50
|
+
"11041": "O valor informado no parâmetro maxAge é inválido."
|
51
|
+
"11042": "O formato do valor informado no parâmetro maxUses é inválido."
|
52
|
+
"11043": "O valor informado no parâmetro maxUses é inválido."
|
53
|
+
"11044": "O parâmetro initialDate deve ser informado."
|
54
|
+
"11045": "O valor informado no parâmetro initialDate deve ser inferior ou igual a data atual."
|
55
|
+
"11046": "O valor informado no parâmetro initialDate não pode ser anterior a 180 dias contados da data atual."
|
56
|
+
"11047": "O valor informado no parâmetro initialDate deve ser menor ou igual ao valor informado no parâmetro finalDate."
|
57
|
+
"11048": "O intervalo entre os parâmetros initialDate e finalDate deve ser inferior ou igual a 30 dias."
|
58
|
+
"11049": "O valor informado no parâmetro finalDate deve ser inferior ou igual a data atual."
|
59
|
+
"11050": "O valor informado no parâmetro initialDate é inválido. O formato correto é yyyy-MM-ddTHH:mm."
|
60
|
+
"11051": "O valor informado no parâmetro finalDate é inválido. O formato correto é yyyy-MM-ddTHH:mm."
|
61
|
+
"11052": "O valor informado no parâmetro page é inválido. Utilize um inteiro maior que 0."
|
62
|
+
"11053": "O valor informado no parâmetro maxPageResults deve ser entre 1 e 1000."
|
63
|
+
"11105": "O valor total do checkout é inválido."
|
64
|
+
"11111": "O valor informado no parâmetro shippingCost é inválido."
|
65
|
+
"11112": "O formato do valor informado no parâmetro shippingCost é inválido."
|
66
|
+
"11164": "O valor informado no parâmetro senderCPF é inválido."
|
67
|
+
"13001": "O código de notificação informado é inválido."
|
68
|
+
"13002": "O código da transação deve ser informado."
|
69
|
+
"13003": "O código de transação informado é inválido."
|
70
|
+
"13004": "O parâmetro initialDate deve ser informado"
|
71
|
+
"13005": "O valor informado no parâmetro initialDate deve ser inferior ou igual a data atual."
|
72
|
+
"13006": "O valor informado no parâmetro initialDate não pode ser anterior a 180 dias contados da data atual."
|
73
|
+
"13007": "O valor informado no parâmetro initialDate deve ser menor ou igual ao valor informado no parâmetro finalDate."
|
74
|
+
"13008": "O intervalo entre os parâmetros initialDate e finalDate deve ser inferior ou igual a 30 dias."
|
75
|
+
"13009": "O valor informado no parâmetro finalDate deve ser inferior ou igual a data atual."
|
76
|
+
"13010": "O valor informado no parâmetro initialDate é inválido. O formato correto é yyyy-MM-ddTHH:mm."
|
77
|
+
"13011": "O valor informado no parâmetro finalDate é inválido. O formato correto é yyyy-MM-ddTHH:mm."
|
78
|
+
"13012": "O valor informado no parâmetro initialDate deve ser inferior a."
|
79
|
+
"13013": "O valor informado no parâmetro page é inválido. Utilize um inteiro maior que 0."
|
80
|
+
"13014": "O valor informado no parâmetro maxPageResults deve ser entre 1 e 1000."
|
81
|
+
"13015": "Transação não encontrada."
|
82
|
+
"13020": "O valor informado no parâmetro page é superior a quantidade de páginas retornadas."
|
83
|
+
"13021": "Esta consulta não pode ser realizada pois o status da transação requisitada é inválido."
|
84
|
+
|
85
|
+
payment_methods:
|
86
|
+
"101": "Cartão de crédito Visa"
|
87
|
+
"102": "Cartão de crédito MasterCard"
|
88
|
+
"103": "Cartão de crédito American Express"
|
89
|
+
"104": "Cartão de crédito Diners"
|
90
|
+
"105": "Cartão de crédito Hipercard"
|
91
|
+
"106": "Cartão de crédito Aura"
|
92
|
+
"107": "Cartão de crédito Elo"
|
93
|
+
"108": "Cartão de crédito PLENOCard"
|
94
|
+
"109": "Cartão de crédito PersonalCard"
|
95
|
+
"110": "Cartão de crédito JCB"
|
96
|
+
"111": "Cartão de crédito Discover"
|
97
|
+
"112": "Cartão de crédito BrasilCard"
|
98
|
+
"113": "Cartão de crédito FORTBRASIL"
|
99
|
+
"114": "Cartão de crédito CARDBAN"
|
100
|
+
"115": "Cartão de crédito VALECARD"
|
101
|
+
"116": "Cartão de crédito Cabal"
|
102
|
+
"117": "Cartão de crédito Mais!"
|
103
|
+
"118": "Cartão de crédito Avista"
|
104
|
+
"119": "Cartão de crédito GRANDCARD"
|
105
|
+
"120": "Cartão de crédito SOROCRED"
|
106
|
+
"201": "Boleto Bradesco"
|
107
|
+
"202": "Boleto Santander"
|
108
|
+
"301": "Débito online Bradesco"
|
109
|
+
"302": "Débito online Itaú"
|
110
|
+
"303": "Débito online Unibanco"
|
111
|
+
"304": "Débito online Banco do Brasil"
|
112
|
+
"305": "Débito online Banco Real"
|
113
|
+
"306": "Débito online Banrisul"
|
114
|
+
"307": "Débito online HSBC"
|
115
|
+
"401": "Saldo PagSeguro"
|
116
|
+
"501": "Oi Paggo"
|
117
|
+
"701": "Depósito em conta Banco do Brasil"
|
118
|
+
|
119
|
+
payment_status:
|
120
|
+
"0": "Iniciada"
|
121
|
+
"1": "Aguardando pagamento"
|
122
|
+
"2": "Em análise"
|
123
|
+
"3": "Paga"
|
124
|
+
"4": "Disponível"
|
125
|
+
"5": "Em disputa"
|
126
|
+
"6": "Devolvida"
|
127
|
+
"7": "Cancelada"
|
128
|
+
"8": "Chargeback debitado"
|
129
|
+
"9": "Em contestação"
|
130
|
+
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
require "./lib/pagseguro/version"
|
3
|
+
|
4
|
+
Gem::Specification.new do |spec|
|
5
|
+
spec.name = "pagseguro-sdk"
|
6
|
+
spec.version = PagSeguro::VERSION
|
7
|
+
spec.authors = ["Nando Vieira", "Henrique Jonas"]
|
8
|
+
spec.email = ["fnando.vieira@gmail.com"]
|
9
|
+
spec.summary = "Biblioteca de integração com o PagSeguro"
|
10
|
+
spec.description = "Biblioteca oficial de integração via API com o PagSeguro"
|
11
|
+
spec.homepage = "http://www.pagseguro.com.br"
|
12
|
+
spec.license = "AAL"
|
13
|
+
|
14
|
+
spec.files = `git ls-files`.split($/)
|
15
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
16
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
17
|
+
spec.require_paths = ["lib"]
|
18
|
+
|
19
|
+
spec.required_ruby_version = ">= 1.9.3"
|
20
|
+
|
21
|
+
spec.add_runtime_dependency "aitch", "~> 0.2"
|
22
|
+
spec.add_runtime_dependency "nokogiri", "~> 1.6"
|
23
|
+
spec.add_runtime_dependency "i18n", "~> 0.7"
|
24
|
+
spec.add_runtime_dependency "json", "~> 2.3"
|
25
|
+
|
26
|
+
spec.add_development_dependency "bundler", "~> 1.7"
|
27
|
+
spec.add_development_dependency "rake", ">= 12.3.3"
|
28
|
+
spec.add_development_dependency "rspec", "~> 3.0"
|
29
|
+
spec.add_development_dependency "fakeweb", "~> 1.3"
|
30
|
+
spec.add_development_dependency "activesupport", "~> 4.0"
|
31
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<authorization>
|
2
|
+
<code>9D7FF2E921216F1334EE9FBEB7B4EBBC</code>
|
3
|
+
<creationDate>2011-03-30T14:20:13.000-03:00</creationDate>
|
4
|
+
<reference>ref1234</reference>
|
5
|
+
<permissions>
|
6
|
+
<permission>
|
7
|
+
<code>CREATE_CHECKOUTS</code>
|
8
|
+
<status>APPROVED</status>
|
9
|
+
<lastUpdate>2011-03-30T15:35:44.000-03:00</lastUpdate>
|
10
|
+
</permission>
|
11
|
+
<permission>
|
12
|
+
<code>SEARCH_TRANSACTIONS</code>
|
13
|
+
<status>APPROVED</status>
|
14
|
+
<lastUpdate>2011-03-30T14:20:13.000-03:00</lastUpdate>
|
15
|
+
</permission>
|
16
|
+
</permissions>
|
17
|
+
</authorization>
|
@@ -0,0 +1,47 @@
|
|
1
|
+
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
|
2
|
+
<authorizationSearchResult>
|
3
|
+
<date>2015-12-03T15:58:33.000-02:00</date>
|
4
|
+
<authorizations>
|
5
|
+
<authorization>
|
6
|
+
<code>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</code>
|
7
|
+
<creationDate>2015-10-28T17:23:05.000-02:00</creationDate>
|
8
|
+
<account>
|
9
|
+
<publicKey>PUB11111111111111111111111111111111</publicKey>
|
10
|
+
</account>
|
11
|
+
<permissions>
|
12
|
+
<permission>
|
13
|
+
<code>SEARCH_TRANSACTIONS</code>
|
14
|
+
<status>APPROVED</status>
|
15
|
+
<lastUpdate>2015-10-28T17:23:08.000-02:00</lastUpdate>
|
16
|
+
</permission>
|
17
|
+
<permission>
|
18
|
+
<code>RECEIVE_TRANSACTION_NOTIFICATIONS</code>
|
19
|
+
<status>APPROVED</status>
|
20
|
+
<lastUpdate>2015-10-28T17:23:08.000-02:00</lastUpdate>
|
21
|
+
</permission>
|
22
|
+
</permissions>
|
23
|
+
</authorization>
|
24
|
+
<authorization>
|
25
|
+
<code>bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</code>
|
26
|
+
<creationDate>2015-10-27T17:54:01.000-02:00</creationDate>
|
27
|
+
<account>
|
28
|
+
<publicKey>PUBC2222222222222222222222222222222</publicKey>
|
29
|
+
</account>
|
30
|
+
<permissions>
|
31
|
+
<permission>
|
32
|
+
<code>SEARCH_TRANSACTIONS</code>
|
33
|
+
<status>APPROVED</status>
|
34
|
+
<lastUpdate>2015-10-27T17:54:04.000-02:00</lastUpdate>
|
35
|
+
</permission>
|
36
|
+
<permission>
|
37
|
+
<code>RECEIVE_TRANSACTION_NOTIFICATIONS</code>
|
38
|
+
<status>APPROVED</status>
|
39
|
+
<lastUpdate>2015-10-27T17:54:04.000-02:00</lastUpdate>
|
40
|
+
</permission>
|
41
|
+
</permissions>
|
42
|
+
</authorization>
|
43
|
+
</authorizations>
|
44
|
+
<resultsInThisPage>2</resultsInThisPage>
|
45
|
+
<currentPage>1</currentPage>
|
46
|
+
<totalPages>1</totalPages>
|
47
|
+
</authorizationSearchResult>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<authorizationRequest>
|
3
|
+
<reference>123</reference>
|
4
|
+
<redirectURL>http://seusite.com.br/redirect</redirectURL>
|
5
|
+
<notificationURL>http://seusite.com.br/notification</notificationURL>
|
6
|
+
<permissions>
|
7
|
+
<code>CREATE_CHECKOUTS</code>
|
8
|
+
<code>SEARCH_TRANSACTIONS</code>
|
9
|
+
<code>RECEIVE_TRANSACTION_NOTIFICATIONS</code>
|
10
|
+
</permissions>
|
11
|
+
</authorizationRequest>
|
@@ -0,0 +1,47 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<authorizationRequest>
|
3
|
+
<reference>123</reference>
|
4
|
+
<redirectURL>http://seusite.com.br/redirect</redirectURL>
|
5
|
+
<notificationURL>http://seusite.com.br/notification</notificationURL>
|
6
|
+
<permissions>
|
7
|
+
<code>CREATE_CHECKOUTS</code>
|
8
|
+
<code>SEARCH_TRANSACTIONS</code>
|
9
|
+
<code>RECEIVE_TRANSACTION_NOTIFICATIONS</code>
|
10
|
+
</permissions>
|
11
|
+
<account>
|
12
|
+
<email>usuario@seusite.com.br</email>
|
13
|
+
<type>SELLER</type>
|
14
|
+
<person>
|
15
|
+
<name>Antonio Carlos</name>
|
16
|
+
<birthDate>05/02/1982</birthDate>
|
17
|
+
<address>
|
18
|
+
<postalCode>414722</postalCode>
|
19
|
+
<street>Av. Brig. Faria Lima</street>
|
20
|
+
<number>1384</number>
|
21
|
+
<complement>5o andar</complement>
|
22
|
+
<district>Jardim Paulistano</district>
|
23
|
+
<city>Sao Paulo</city>
|
24
|
+
<state>SP</state>
|
25
|
+
<country>BRA</country>
|
26
|
+
</address>
|
27
|
+
<documents>
|
28
|
+
<document>
|
29
|
+
<type>CPF</type>
|
30
|
+
<value>99988877766</value>
|
31
|
+
</document>
|
32
|
+
</documents>
|
33
|
+
<phones>
|
34
|
+
<phone>
|
35
|
+
<type>HOME</type>
|
36
|
+
<areaCode>11</areaCode>
|
37
|
+
<number>30302323</number>
|
38
|
+
</phone>
|
39
|
+
<phone>
|
40
|
+
<type>MOBILE</type>
|
41
|
+
<areaCode>11</areaCode>
|
42
|
+
<number>976302323</number>
|
43
|
+
</phone>
|
44
|
+
</phones>
|
45
|
+
</person>
|
46
|
+
</account>
|
47
|
+
</authorizationRequest>
|