Class: Yookassa::Payment

Inherits:
Object
  • Object
show all
Defined in:
lib/yookassarb.rb

Overview

Convenience wrapper for payment operations via the default client.

Examples:

Create a payment

payment = Yookassa::Payment.create(
  amount: { value: "500.00", currency: "RUB" },
  confirmation: { type: "redirect", return_url: "https://example.com" }
)

See Also:

Class Method Summary collapse

Class Method Details

.cancel(payment_id, idempotency_key: nil) ⇒ Entities::Payment

Cancels a payment.

Parameters:

  • payment_id (String)

    the payment ID

  • idempotency_key (String, nil) (defaults to: nil)

    optional idempotency key

Returns:

Raises:



154
155
156
# File 'lib/yookassarb.rb', line 154

def cancel(payment_id, idempotency_key: nil)
  Yookassa.default_client.payments.cancel(payment_id, idempotency_key: idempotency_key)
end

.capture(payment_id, params = {}, idempotency_key: nil) ⇒ Entities::Payment

Captures an authorized payment.

Parameters:

  • payment_id (String)

    the payment ID

  • params (Hash) (defaults to: {})

    optional capture parameters (amount, etc.)

  • idempotency_key (String, nil) (defaults to: nil)

    optional idempotency key

Returns:

Raises:



144
145
146
# File 'lib/yookassarb.rb', line 144

def capture(payment_id, params = {}, idempotency_key: nil)
  Yookassa.default_client.payments.capture(payment_id, params, idempotency_key: idempotency_key)
end

.create(params, idempotency_key: nil) ⇒ Entities::Payment

Creates a new payment.

Parameters:

  • params (Hash)

    payment parameters (amount, confirmation, etc.)

  • idempotency_key (String, nil) (defaults to: nil)

    optional idempotency key

Returns:

Raises:



124
125
126
# File 'lib/yookassarb.rb', line 124

def create(params, idempotency_key: nil)
  Yookassa.default_client.payments.create(params, idempotency_key: idempotency_key)
end

.find(payment_id) ⇒ Entities::Payment

Retrieves a payment by ID.

Parameters:

  • payment_id (String)

    the payment ID

Returns:

Raises:



133
134
135
# File 'lib/yookassarb.rb', line 133

def find(payment_id)
  Yookassa.default_client.payments.find(payment_id)
end

.list(**filters) ⇒ Entities::Collection<Entities::Payment>

Lists payments matching the given filters.

Parameters:

  • filters (Hash)

    query filters (status, created_at, limit, cursor, etc.)

Returns:



162
163
164
# File 'lib/yookassarb.rb', line 162

def list(**filters)
  Yookassa.default_client.payments.list(**filters)
end