Class: PCPServerSDK::Endpoints::PayByLinkApiClient

Inherits:
BaseApiClient
  • Object
show all
Defined in:
lib/PCP-server-Ruby-SDK/endpoints/pay_by_link_api_client.rb

Instance Attribute Summary

Attributes inherited from BaseApiClient

#http_client

Instance Method Summary collapse

Methods inherited from BaseApiClient

#initialize

Constructor Details

This class inherits a constructor from PCPServerSDK::Endpoints::BaseApiClient

Instance Method Details

Create a pay-by-link for a checkout.

Parameters:

  • merchant_id (String) —

    The merchant identifier

  • commerce_case_id (String) —

    The commerce case identifier

  • checkout_id (String) —

    The checkout identifier

  • payload (PCPServerSDK::Models::CreatePayByLinkRequest) —

    The pay-by-link request

Returns:

Raises:

  • (TypeError)


15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/PCP-server-Ruby-SDK/endpoints/pay_by_link_api_client.rb', line 15

def create_pay_by_link_request(merchant_id, commerce_case_id, checkout_id, payload)
  raise TypeError, MERCHANT_ID_REQUIRED_ERROR if merchant_id.nil? || merchant_id.empty?
  raise TypeError, COMMERCE_CASE_ID_REQUIRED_ERROR if commerce_case_id.nil? || commerce_case_id.empty?
  raise TypeError, CHECKOUT_ID_REQUIRED_ERROR if checkout_id.nil? || checkout_id.empty?
  raise TypeError, PAYLOAD_REQUIRED_ERROR if payload.nil?

  url = URI.join(get_config.host, "/v1/#{merchant_id}/commerce-cases/#{commerce_case_id}/checkouts/#{checkout_id}/pay-by-link")
  request_init = {
    method: 'POST',
    headers: { 'Content-Type' => 'application/json' },
    body: JSON.generate(payload)
  }

  response = make_api_call(url.to_s, request_init)
  deserialize_json(response, PCPServerSDK::Models::CreatePayByLinkResponse)
end