Class: ModernTreasury::ReversalApi

Inherits:
BaseApi
  • Object
show all
Defined in:
lib/modern_treasury/apis/reversal_api.rb

Overview

ReversalApi

Constant Summary

Constants inherited from BaseApi

BaseApi::GLOBAL_ERRORS

Instance Attribute Summary

Attributes inherited from BaseApi

#config, #http_call_back

Instance Method Summary collapse

Methods inherited from BaseApi

#initialize, #new_parameter, #new_request_builder, #new_response_handler, user_agent, user_agent_parameters

Constructor Details

This class inherits a constructor from ModernTreasury::BaseApi

Instance Method Details

#create_reversal(payment_order_id, idempotency_key: nil, body: nil) ⇒ ApiResponse

Create a reversal for a payment order. relevant Payment Order. something unique, preferably something like an UUID. description here

Parameters:

  • payment_order_id (UUID | String)

    Required parameter: The ID of the

  • idempotency_key (String) (defaults to: nil)

    Optional parameter: This key should be

  • body (ReversalCreateRequest) (defaults to: nil)

    Optional parameter: TODO: type

Returns:

  • (ApiResponse)

    Complete http response with raw body and status code.



47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# File 'lib/modern_treasury/apis/reversal_api.rb', line 47

def create_reversal(payment_order_id,
                    idempotency_key: nil,
                    body: nil)
  @api_call
    .request(new_request_builder(HttpMethodEnum::POST,
                                 '/api/payment_orders/{payment_order_id}/reversals',
                                 Server::DEFAULT)
               .template_param(new_parameter(payment_order_id, key: 'payment_order_id')
                                .is_required(true)
                                .should_encode(true))
               .header_param(new_parameter('application/json', key: 'Content-Type'))
               .header_param(new_parameter(idempotency_key, key: 'Idempotency-Key'))
               .body_param(new_parameter(body))
               .header_param(new_parameter('application/json', key: 'accept'))
               .body_serializer(proc do |param| param.to_json unless param.nil? end)
               .auth(Single.new('basic_auth')))
    .response(new_response_handler
                .deserializer(APIHelper.method(:custom_type_deserializer))
                .deserialize_into(Reversal.method(:from_hash))
                .is_api_response(true)
                .local_error('404',
                             'unsuccessful',
                             ErrorMessageException)
                .local_error('422',
                             'unsuccessful',
                             ErrorMessageException))
    .execute
end

#get_reversal(payment_order_id, reversal_id) ⇒ ApiResponse

Get details on a single reversal of a payment order. payment order being reversed. reversal.

Parameters:

  • payment_order_id (UUID | String)

    Required parameter: The id of the

  • reversal_id (UUID | String)

    Required parameter: The ID of the

Returns:

  • (ApiResponse)

    Complete http response with raw body and status code.



82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
# File 'lib/modern_treasury/apis/reversal_api.rb', line 82

def get_reversal(payment_order_id,
                 reversal_id)
  @api_call
    .request(new_request_builder(HttpMethodEnum::GET,
                                 '/api/payment_orders/{payment_order_id}/reversals/{reversal_id}',
                                 Server::DEFAULT)
               .template_param(new_parameter(payment_order_id, key: 'payment_order_id')
                                .is_required(true)
                                .should_encode(true))
               .template_param(new_parameter(reversal_id, key: 'reversal_id')
                                .is_required(true)
                                .should_encode(true))
               .header_param(new_parameter('application/json', key: 'accept'))
               .auth(Single.new('basic_auth')))
    .response(new_response_handler
                .deserializer(APIHelper.method(:custom_type_deserializer))
                .deserialize_into(Reversal.method(:from_hash))
                .is_api_response(true)
                .local_error('404',
                             'not found',
                             ErrorMessageException))
    .execute
end

#list_reversals(payment_order_id, after_cursor: nil, per_page: nil) ⇒ ApiResponse

Get a list of all reversals of a payment order. relevant Payment Order. here here

Parameters:

  • payment_order_id (String)

    Required parameter: The ID of the

  • after_cursor (String) (defaults to: nil)

    Optional parameter: TODO: type description

  • per_page (Integer) (defaults to: nil)

    Optional parameter: TODO: type description

Returns:

  • (ApiResponse)

    Complete http response with raw body and status code.



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/modern_treasury/apis/reversal_api.rb', line 17

def list_reversals(payment_order_id,
                   after_cursor: nil,
                   per_page: nil)
  @api_call
    .request(new_request_builder(HttpMethodEnum::GET,
                                 '/api/payment_orders/{payment_order_id}/reversals',
                                 Server::DEFAULT)
               .template_param(new_parameter(payment_order_id, key: 'payment_order_id')
                                .is_required(true)
                                .should_encode(true))
               .query_param(new_parameter(after_cursor, key: 'after_cursor'))
               .query_param(new_parameter(per_page, key: 'per_page'))
               .header_param(new_parameter('application/json', key: 'accept'))
               .auth(Single.new('basic_auth')))
    .response(new_response_handler
                .deserializer(APIHelper.method(:custom_type_deserializer))
                .deserialize_into(Reversal.method(:from_hash))
                .is_api_response(true)
                .is_response_array(true))
    .execute
end