Class: CyberSourceMergedSpec::ReversalController

Inherits:
BaseController show all
Defined in:
lib/cyber_source_merged_spec/controllers/reversal_controller.rb

Overview

ReversalController

Constant Summary

Constants inherited from BaseController

BaseController::GLOBAL_ERRORS

Instance Attribute Summary

Attributes inherited from BaseController

#config, #http_call_back

Instance Method Summary collapse

Methods inherited from BaseController

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

Constructor Details

This class inherits a constructor from CyberSourceMergedSpec::BaseController

Instance Method Details

#auth_reversal(id, auth_reversal_request) ⇒ ApiResponse

Include the payment ID in the POST request to reverse the payment amount. previous payment request. TODO: type description here

Parameters:

  • id (String)

    Required parameter: The payment ID returned from a

  • auth_reversal_request (AuthReversalRequest)

    Required parameter:

Returns:

  • (ApiResponse)

    Complete http response with raw body and status code.



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/cyber_source_merged_spec/controllers/reversal_controller.rb', line 15

def auth_reversal(id,
                  auth_reversal_request)
  @api_call
    .request(new_request_builder(HttpMethodEnum::POST,
                                 '/pts/v2/payments/{id}/reversals',
                                 Server::DEFAULT)
               .template_param(new_parameter(id, key: 'id')
                                .is_required(true)
                                .should_encode(true))
               .body_param(new_parameter(auth_reversal_request)
                            .is_required(true))
               .header_param(new_parameter('application/json', key: 'Content-Type'))
               .header_param(new_parameter('application/json', key: 'accept'))
               .body_serializer(proc do |param| param.to_json unless param.nil? end))
    .response(new_response_handler
                .deserializer(APIHelper.method(:custom_type_deserializer))
                .deserialize_into(PtsV2PaymentsReversalsPost201Response.method(:from_hash))
                .is_api_response(true)
                .local_error('400',
                             'Invalid request.',
                             PtsV2PaymentsReversalsPost400ResponseException)
                .local_error('502',
                             'Unexpected system error or system timeout.',
                             PtsV2PaymentsReversalsPost502ResponseException))
    .execute
end

#mit_reversal(mit_reversal_request) ⇒ ApiResponse

This is to reverse a previous payment that merchant does not receive a reply(Mostly due to Timeout). To use this feature/API, make sure to pass unique value to field - clientReferenceInformation -> transactionId in [/pts/v2/payments](https://developer.cybersource.com/api-reference-assets/ index.html#payments_payments) API call and use same transactionId in this API request payload to reverse the payment. type description here

Parameters:

Returns:

  • (ApiResponse)

    Complete http response with raw body and status code.



51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/cyber_source_merged_spec/controllers/reversal_controller.rb', line 51

def mit_reversal(mit_reversal_request)
  @api_call
    .request(new_request_builder(HttpMethodEnum::POST,
                                 '/pts/v2/reversals',
                                 Server::DEFAULT)
               .body_param(new_parameter(mit_reversal_request)
                            .is_required(true))
               .header_param(new_parameter('application/json', key: 'Content-Type'))
               .header_param(new_parameter('application/json', key: 'accept'))
               .body_serializer(proc do |param| param.to_json unless param.nil? end))
    .response(new_response_handler
                .deserializer(APIHelper.method(:custom_type_deserializer))
                .deserialize_into(PtsV2ReversalsPost201Response.method(:from_hash))
                .is_api_response(true)
                .local_error('400',
                             'Invalid request.',
                             PtsV2ReversalsPost400ResponseException)
                .local_error('502',
                             'Unexpected system error or system timeout.',
                             PtsV2ReversalsPost502ResponseException))
    .execute
end