mp_api 0.3.12 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7384cdb5d64721a848a2983efb3ae0ab04680bcccffe7397a33e1880b6a508df
4
- data.tar.gz: 070e6dfc2fd2ac8fb54d3a19d4b2c8088600025d1faf8492baf91f5a8f17c614
3
+ metadata.gz: 14d24c337abe28eab714ae937b8cc427a8bfa7a6c63d1f97a3e81af62ce7c8ac
4
+ data.tar.gz: 32eeff608351f09cc4266392edef78cd60e6dbdbd5095b50034a79c8f1f4a5e7
5
5
  SHA512:
6
- metadata.gz: a002584230be2d7e5e10ca80496f8973e04099a0fc0583701adaa78004429ceb092f1daaacb7c1d9cd051f64062d27e0bc99072b2c1ac3482ddd2bf8c0eb1904
7
- data.tar.gz: 4cbcd8b268e08703e05662525ecdde23de3e49d9e7def904e7595dc8372da573327c978f09f01d3a22fd14b2517c200e8b3a8b7029767e3dac7f96d7f30ecbc7
6
+ metadata.gz: b4e8c968cc02439b3e73f21e4269098744586aab0540ec339bce6e2a02c9a8a3f302f32eba0c2e15b672450d53f2205434795bc26f4e48a7ff3761075868ec15
7
+ data.tar.gz: 16ecb53202057e817de0d3a80085f4f83359cffdc0e242c7b9bc0d264de974253802859b8e420fb7b720dd9cafe942e93026b6eb057e600242e4a82c688ee3b7
data/README.md CHANGED
@@ -1,19 +1,86 @@
1
1
  # MpApi
2
2
 
3
- ## Installation
3
+ Wrapper de integração com a API do Mercado Pago.
4
4
 
5
- Add solidus_bling to your Gemfile:
5
+ [Documentação API Mercado Pago](https://www.mercadopago.com.br/developers/pt/docs)
6
+
7
+ ### Funcionalidades:
8
+ - Criar pagamentos Pix ou cartão de crédito
9
+ - Gerar token único para um cartão de crédito
10
+ - Atualizar e encontrar pagamentos pelo ID
11
+ - Buscar bandeira do cartão a partir dos seis primeiros digitos
12
+
13
+ ## Instalação
14
+
15
+ Adicionar mp_api no Gemfile:
6
16
 
7
17
  ```ruby
8
18
  gem 'mp_api'
9
19
  ```
20
+ ou
21
+ ```shell
22
+ bundle add mp_api
23
+ ```
10
24
 
11
- Bundle your dependencies and run the installation generator:
25
+ Instalar a gem:
12
26
 
13
27
  ```shell
14
28
  bin/rails generate mp_api:install
15
29
  ```
16
30
 
17
- ## License
31
+ ## Uso
32
+
33
+ Configurar access_token no initializer ou direto no código:
34
+ ```ruby
35
+ MpApi.configure do |config|
36
+ config.access_token = "ACCESS_TOKEN"
37
+ end
38
+ ```
18
39
 
19
- Copyright (c) 2023 CaioGarcia1, released under the New BSD License.
40
+ ### Exemplos de criação de pagamento
41
+ #### Cartão de crédito
42
+ ```ruby
43
+ # Criação de um token para cartão teste
44
+ token = MpApi::Token.new(
45
+ card_number: "5031433215406351",
46
+ expiration_year: "2025",
47
+ expiration_month: "11",
48
+ security_code: "123",
49
+ cardholder_name: "APRO"
50
+ ).create
51
+ puts token.id # c8ad2335a9bb58e585a8c35bfd9f29ad
52
+
53
+ # Encontra o ID e a bandeira do cartão
54
+ payment_method = MpApi::PaymentMethod.find_by_first_six_digits("503143")
55
+ puts payment_method.payment_method_id # "master"
56
+
57
+ # Criação do pagamento
58
+ payment = MpApi::Payment.new(
59
+ amount: 140.0,
60
+ payment_method: payment_method.payment_method_id,
61
+ payer_email: "email@example.com",
62
+ payer_identification_type: "CPF",
63
+ payer_identification_number: "12345678909",
64
+ token: token.id,
65
+ issuer_id: payment_method.issuer_id,
66
+ installments: 1,
67
+ three_d_secure_mode: true
68
+ ).create
69
+
70
+ puts payment.id # 1318474186
71
+ puts payment.status # "approved"
72
+ ```
73
+
74
+ #### Pix
75
+ ```ruby
76
+ # Criação do pagamento
77
+ payment = MpApi::Payment.new(
78
+ payer_email: "email@example.com",
79
+ payer_identification_type: "CPF",
80
+ payer_identification_number: "12345678909",
81
+ payment_method: "pix",
82
+ amount: 140.0
83
+ ).create
84
+ puts payment.id # 1318474264
85
+ puts payment.status # "pending"
86
+ ```
@@ -1,7 +1,7 @@
1
1
  module MpApi
2
2
  class Payment
3
- attr_reader :status_detail, :three_ds_info_creq, :three_ds_info_external_resource_url, :three_d_secure_mode, :id, :description, :date_approved, :date_created, :money_release_date, :payer_email, :payer_identification_type, :payer_identification_number, :payment_method, :payment_type, :qr_code, :qr_code_base_64, :transaction_id, :ticket_url, :status, :amount, :token, :issuer_id, :installments, :statement_descriptor, :items, :error, :internal_error, :capture, :date_of_expiration
4
- def initialize(payer_email:, payer_identification_type:, payer_identification_number:, payment_method:, amount:, status_detail: nil, three_ds_info_creq: nil, three_ds_info_external_resource_url: nil, three_d_secure_mode: nil, id: nil, description: nil, date_approved: nil, date_created: nil, money_release_date: nil, payment_type: nil, qr_code: nil, qr_code_base_64: nil, transaction_id: nil, ticket_url: nil, status: nil, token: nil, issuer_id: nil, installments: nil, items: nil, statement_descriptor: nil, error: nil, internal_error: nil, capture: nil, date_of_expiration: nil)
3
+ attr_reader :status_detail, :three_ds_info_creq, :three_ds_info_external_resource_url, :three_d_secure_mode, :id, :description, :date_approved, :date_created, :money_release_date, :payer_email, :payer_identification_type, :payer_identification_number, :payment_method, :last_four_digits, :payment_type, :qr_code, :qr_code_base_64, :transaction_id, :ticket_url, :status, :amount, :token, :issuer_id, :installments, :statement_descriptor, :items, :error, :internal_error, :capture, :date_of_expiration
4
+ def initialize(payer_email:, payer_identification_type:, payer_identification_number:, payment_method:, last_four_digits: nil, amount:, status_detail: nil, three_ds_info_creq: nil, three_ds_info_external_resource_url: nil, three_d_secure_mode: nil, id: nil, description: nil, date_approved: nil, date_created: nil, money_release_date: nil, payment_type: nil, qr_code: nil, qr_code_base_64: nil, transaction_id: nil, ticket_url: nil, status: nil, token: nil, issuer_id: nil, installments: nil, items: nil, statement_descriptor: nil, error: nil, internal_error: nil, capture: nil, date_of_expiration: nil)
5
5
  @id = id
6
6
  @description = description
7
7
  @date_approved = date_approved
@@ -11,6 +11,7 @@ module MpApi
11
11
  @payer_identification_type = payer_identification_type
12
12
  @payer_identification_number = payer_identification_number
13
13
  @payment_method = payment_method
14
+ @last_four_digits = last_four_digits
14
15
  @payment_type = payment_type
15
16
  @qr_code = qr_code
16
17
  @qr_code_base_64 = qr_code_base_64
@@ -106,6 +107,7 @@ module MpApi
106
107
  payer_identification_type: json_response.dig("payer", "identification", "type"),
107
108
  payer_identification_number: json_response.dig("payer", "identification", "number"),
108
109
  payment_method: json_response.dig("payment_method_id"),
110
+ last_four_digits: json_response.dig("card", "last_four_digits"),
109
111
  payment_type: json_response.dig("payment_type_id"),
110
112
  qr_code: json_response.dig("point_of_interaction", "transaction_data", "qr_code"),
111
113
  qr_code_base_64: json_response.dig("point_of_interaction", "transaction_data", "qr_code_base64"),
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module MpApi
4
- VERSION = "0.3.12"
4
+ VERSION = "1.0.1"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mp_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.12
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
- - caio
7
+ - Todas Essas Coisas
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-01-24 00:00:00.000000000 Z
11
+ date: 2024-06-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ac
@@ -43,13 +43,13 @@ files:
43
43
  - lib/mp_api/payment_method.rb
44
44
  - lib/mp_api/token.rb
45
45
  - lib/mp_api/version.rb
46
- homepage: https://github.com/CaioGarcia1/mp_api
46
+ homepage: https://github.com/todasessascoisas/mp_api
47
47
  licenses:
48
48
  - MIT
49
49
  metadata:
50
- homepage_uri: https://github.com/CaioGarcia1/mp_api
51
- source_code_uri: https://github.com/CaioGarcia1/mp_api
52
- changelog_uri: https://github.com/CaioGarcia1/mp_api
50
+ homepage_uri: https://github.com/todasessascoisas/mp_api
51
+ source_code_uri: https://github.com/todasessascoisas/mp_api
52
+ changelog_uri: https://github.com/todasessascoisas/mp_api
53
53
  post_install_message:
54
54
  rdoc_options: []
55
55
  require_paths:
@@ -65,7 +65,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
65
65
  - !ruby/object:Gem::Version
66
66
  version: '0'
67
67
  requirements: []
68
- rubygems_version: 3.4.19
68
+ rubygems_version: 3.5.9
69
69
  signing_key:
70
70
  specification_version: 4
71
71
  summary: ''