Class: CloudpaymentsRuby::Resources::Payments

Inherits:
Object
  • Object
show all
Defined in:
lib/cloudpayments_ruby/resources/payments.rb,
lib/cloudpayments_ruby/resources/payments/tokens.rb

Defined Under Namespace

Classes: Tokens

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ Payments

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of Payments.

Parameters:



226
227
228
229
# File 'lib/cloudpayments_ruby/resources/payments.rb', line 226

def initialize(client:)
  @client = client
  @tokens = CloudpaymentsRuby::Resources::Payments::Tokens.new(client: client)
end

Instance Attribute Details

#tokensCloudpaymentsRuby::Resources::Payments::Tokens (readonly)



7
8
9
# File 'lib/cloudpayments_ruby/resources/payments.rb', line 7

def tokens
  @tokens
end

Instance Method Details

#auth(amount:, card_cryptogram_packet:, ip_address:, account_id: nil, culture_name: nil, currency: nil, description: nil, email: nil, invoice_id: nil, json_data: nil, name: nil, payer: nil, payment_url: nil, save_card: nil, request_options: {}) ⇒ CloudpaymentsRuby::Models::PaymentAuthResponse::UnionMember0, CloudpaymentsRuby::Models::PaymentAuthResponse::UnionMember1

Двухстадийная оплата по криптограмме

Выполняет только авторизацию (холдирование средств). Для списания необходимо вызвать метод confirm. При необходимости 3-D Secure аутентификации возвращает данные для перенаправления на ACS.

Parameters:

  • amount (Float)

    Сумма платежа (до 2 знаков после точки)

  • card_cryptogram_packet (String)

    Криптограмма платежных данных

  • ip_address (String)

    IP-адрес плательщика

  • account_id (String)

    Идентификатор пользователя

  • culture_name (String)

    Язык уведомлений (ru-RU, en-US)

  • currency (String)

    Валюта (RUB по умолчанию)

  • description (String)

    Описание платежа

  • email (String)

    Email плательщика

  • invoice_id (String)

    Номер заказа

  • json_data (Object)

    Дополнительные данные (JSON)

  • name (String)

    Имя держателя карты (латиница)

  • payer (CloudpaymentsRuby::Models::PaymentAuthParams::Payer)

    Информация о плательщике

  • payment_url (String)

    URL сайта, с которого выполняется оплата

  • save_card (Boolean)

    Сохранить токен карты для повторных платежей

  • request_options (CloudpaymentsRuby::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



50
51
52
53
54
55
56
57
58
59
# File 'lib/cloudpayments_ruby/resources/payments.rb', line 50

def auth(params)
  parsed, options = CloudpaymentsRuby::PaymentAuthParams.dump_request(params)
  @client.request(
    method: :post,
    path: "payments/cards/auth",
    body: parsed,
    model: CloudpaymentsRuby::Models::PaymentAuthResponse,
    options: options
  )
end

#charge(amount:, card_cryptogram_packet:, ip_address:, account_id: nil, culture_name: nil, currency: nil, description: nil, email: nil, invoice_id: nil, json_data: nil, name: nil, payer: nil, payment_url: nil, save_card: nil, request_options: {}) ⇒ CloudpaymentsRuby::Models::PaymentChargeResponse::UnionMember0, CloudpaymentsRuby::Models::PaymentChargeResponse::UnionMember1

Одностадийная оплата по криптограмме

Выполняет оплату в одну стадию - авторизация и списание происходят одновременно. При необходимости 3-D Secure аутентификации возвращает данные для перенаправления на ACS.

Parameters:

  • amount (Float)

    Сумма платежа (до 2 знаков после точки)

  • card_cryptogram_packet (String)

    Криптограмма платежных данных

  • ip_address (String)

    IP-адрес плательщика

  • account_id (String)

    Идентификатор пользователя

  • culture_name (String)

    Язык уведомлений (ru-RU, en-US)

  • currency (String)

    Валюта (RUB по умолчанию)

  • description (String)

    Описание платежа

  • email (String)

    Email плательщика

  • invoice_id (String)

    Номер заказа

  • json_data (Object)

    Дополнительные данные (JSON)

  • name (String)

    Имя держателя карты (латиница)

  • payer (CloudpaymentsRuby::Models::PaymentChargeParams::Payer)

    Информация о плательщике

  • payment_url (String)

    URL сайта, с которого выполняется оплата

  • save_card (Boolean)

    Сохранить токен карты для повторных платежей

  • request_options (CloudpaymentsRuby::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



102
103
104
105
106
107
108
109
110
111
# File 'lib/cloudpayments_ruby/resources/payments.rb', line 102

def charge(params)
  parsed, options = CloudpaymentsRuby::PaymentChargeParams.dump_request(params)
  @client.request(
    method: :post,
    path: "payments/cards/charge",
    body: parsed,
    model: CloudpaymentsRuby::Models::PaymentChargeResponse,
    options: options
  )
end

#confirm(amount:, transaction_id:, json_data: nil, request_options: {}) ⇒ CloudpaymentsRuby::Models::PaymentConfirmResponse

Подтверждение двухстадийного платежа

Подтверждает ранее авторизованный платеж и инициирует списание средств. Сумма подтверждения может быть меньше или равна сумме авторизации.

Parameters:

  • amount (Float)

    Сумма подтверждения

  • transaction_id (Integer)

    ID транзакции

  • json_data (Object)

    Дополнительные данные (JSON)

  • request_options (CloudpaymentsRuby::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



131
132
133
134
135
136
137
138
139
140
# File 'lib/cloudpayments_ruby/resources/payments.rb', line 131

def confirm(params)
  parsed, options = CloudpaymentsRuby::PaymentConfirmParams.dump_request(params)
  @client.request(
    method: :post,
    path: "payments/confirm",
    body: parsed,
    model: CloudpaymentsRuby::Models::PaymentConfirmResponse,
    options: options
  )
end

#post3ds(pa_res:, transaction_id:, request_options: {}) ⇒ CloudpaymentsRuby::Models::PaymentPost3dsResponse

Завершение 3-D Secure аутентификации

Вызывается после возврата плательщика с ACS. Параметр TransactionId соответствует MD, PaRes получается от ACS.

Parameters:

  • pa_res (String)

    Результат 3-D Secure аутентификации

  • transaction_id (Integer)

    ID транзакции (значение параметра MD)

  • request_options (CloudpaymentsRuby::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



158
159
160
161
162
163
164
165
166
167
# File 'lib/cloudpayments_ruby/resources/payments.rb', line 158

def post3ds(params)
  parsed, options = CloudpaymentsRuby::PaymentPost3dsParams.dump_request(params)
  @client.request(
    method: :post,
    path: "payments/cards/post3ds",
    body: parsed,
    model: CloudpaymentsRuby::Models::PaymentPost3dsResponse,
    options: options
  )
end

#refund(amount:, transaction_id:, json_data: nil, request_options: {}) ⇒ CloudpaymentsRuby::Models::PaymentRefundResponse

Возврат средств

Возвращает средства по завершенному платежу. Сумма возврата может быть меньше или равна сумме платежа. Возможны частичные возвраты.

Parameters:

  • amount (Float)

    Сумма возврата

  • transaction_id (Integer)

    ID транзакции оплаты

  • json_data (Object)

    Дополнительные данные (JSON)

  • request_options (CloudpaymentsRuby::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



187
188
189
190
191
192
193
194
195
196
# File 'lib/cloudpayments_ruby/resources/payments.rb', line 187

def refund(params)
  parsed, options = CloudpaymentsRuby::PaymentRefundParams.dump_request(params)
  @client.request(
    method: :post,
    path: "payments/refund",
    body: parsed,
    model: CloudpaymentsRuby::Models::PaymentRefundResponse,
    options: options
  )
end

#void(transaction_id:, request_options: {}) ⇒ CloudpaymentsRuby::Models::PaymentVoidResponse

Отмена платежа

Отменяет авторизованный платеж до его подтверждения. Применимо только для двухстадийных платежей.

Parameters:

Returns:

See Also:



212
213
214
215
216
217
218
219
220
221
# File 'lib/cloudpayments_ruby/resources/payments.rb', line 212

def void(params)
  parsed, options = CloudpaymentsRuby::PaymentVoidParams.dump_request(params)
  @client.request(
    method: :post,
    path: "payments/void",
    body: parsed,
    model: CloudpaymentsRuby::Models::PaymentVoidResponse,
    options: options
  )
end