Module: MyobAcumatica::Api::Payment
- Defined in:
- lib/myob_acumatica/api/payment.rb
Overview
Provides methods to interact with the Payment API endpoints.
Class Method Summary collapse
-
.capture_credit_card_payment(access_token:, entity:, parameters: {}, instance_name: INSTANCE_NAME, endpoint_name: ENDPOINT_NAME, endpoint_version: ENDPOINT_VERSION, logger: nil) ⇒ Hash
Captures a credit card payment.
-
.card_operation(access_token:, entity:, parameters: {}, instance_name: INSTANCE_NAME, endpoint_name: ENDPOINT_NAME, endpoint_version: ENDPOINT_VERSION, logger: nil) ⇒ Hash
Performs a card operation such as Authorize or Capture.
-
.delete_by_id(access_token:, id:, instance_name: INSTANCE_NAME, endpoint_name: ENDPOINT_NAME, endpoint_version: ENDPOINT_VERSION, logger: nil) ⇒ nil
Deletes a payment by ID.
-
.delete_by_keys(access_token:, keys:, instance_name: INSTANCE_NAME, endpoint_name: ENDPOINT_NAME, endpoint_version: ENDPOINT_VERSION, logger: nil) ⇒ nil
Deletes a payment by composite keys.
-
.get_ad_hoc_schema(access_token:, instance_name: INSTANCE_NAME, endpoint_name: ENDPOINT_NAME, endpoint_version: ENDPOINT_VERSION, logger: nil) ⇒ Hash
Retrieves the ad-hoc schema for the payment endpoint.
-
.get_by_id(access_token:, id:, query_params: {}, instance_name: INSTANCE_NAME, endpoint_name: ENDPOINT_NAME, endpoint_version: ENDPOINT_VERSION, logger: nil) ⇒ Hash
Retrieves a payment by unique ID.
-
.get_by_keys(access_token:, keys:, query_params: {}, instance_name: INSTANCE_NAME, endpoint_name: ENDPOINT_NAME, endpoint_version: ENDPOINT_VERSION, logger: nil) ⇒ Hash
Retrieves a payment by composite keys.
-
.get_list(access_token:, query_params: {}, instance_name: INSTANCE_NAME, endpoint_name: ENDPOINT_NAME, endpoint_version: ENDPOINT_VERSION, logger: nil) ⇒ Array<Hash>
Retrieves a list of payments.
-
.invoke_action(access_token:, action_name:, entity:, parameters: {}, instance_name: INSTANCE_NAME, endpoint_name: ENDPOINT_NAME, endpoint_version: ENDPOINT_VERSION, logger: nil) ⇒ Hash?
Invokes a custom action on a payment.
-
.put_entity(access_token:, entity:, query_params: {}, instance_name: INSTANCE_NAME, endpoint_name: ENDPOINT_NAME, endpoint_version: ENDPOINT_VERSION, logger: nil) ⇒ Hash
Creates or updates a payment entity.
-
.put_file(access_token:, keys:, file_path:, instance_name: INSTANCE_NAME, endpoint_name: ENDPOINT_NAME, endpoint_version: ENDPOINT_VERSION, logger: nil) ⇒ nil
Uploads a file to a payment record.
-
.release_payment(access_token:, entity:, parameters: {}, instance_name: INSTANCE_NAME, endpoint_name: ENDPOINT_NAME, endpoint_version: ENDPOINT_VERSION, logger: nil) ⇒ Hash
Releases a payment.
-
.void_card_payment(access_token:, entity:, parameters: {}, instance_name: INSTANCE_NAME, endpoint_name: ENDPOINT_NAME, endpoint_version: ENDPOINT_VERSION, logger: nil) ⇒ Hash
Voids a card payment.
-
.void_payment(access_token:, entity:, parameters: {}, instance_name: INSTANCE_NAME, endpoint_name: ENDPOINT_NAME, endpoint_version: ENDPOINT_VERSION, logger: nil) ⇒ Hash
Voids a payment.
Class Method Details
.capture_credit_card_payment(access_token:, entity:, parameters: {}, instance_name: INSTANCE_NAME, endpoint_name: ENDPOINT_NAME, endpoint_version: ENDPOINT_VERSION, logger: nil) ⇒ Hash
Captures a credit card payment.
348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 |
# File 'lib/myob_acumatica/api/payment.rb', line 348 def capture_credit_card_payment(access_token:, entity:, parameters: {}, instance_name: INSTANCE_NAME, endpoint_name: ENDPOINT_NAME, endpoint_version: ENDPOINT_VERSION, logger: nil) Http.request( instance_name: instance_name, access_token: access_token, method: :post, endpoint_name: endpoint_name, endpoint_version: endpoint_version, path: 'Payment/CaptureCreditCardPayment', body: { 'entity' => entity, 'parameters' => parameters }, logger: logger ) end |
.card_operation(access_token:, entity:, parameters: {}, instance_name: INSTANCE_NAME, endpoint_name: ENDPOINT_NAME, endpoint_version: ENDPOINT_VERSION, logger: nil) ⇒ Hash
Performs a card operation such as Authorize or Capture.
386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 |
# File 'lib/myob_acumatica/api/payment.rb', line 386 def card_operation(access_token:, entity:, parameters: {}, instance_name: INSTANCE_NAME, endpoint_name: ENDPOINT_NAME, endpoint_version: ENDPOINT_VERSION, logger: nil) Http.request( instance_name: instance_name, access_token: access_token, method: :post, endpoint_name: endpoint_name, endpoint_version: endpoint_version, path: 'Payment/CardOperation', body: { 'entity' => entity, 'parameters' => parameters }, logger: logger ) end |
.delete_by_id(access_token:, id:, instance_name: INSTANCE_NAME, endpoint_name: ENDPOINT_NAME, endpoint_version: ENDPOINT_VERSION, logger: nil) ⇒ nil
Deletes a payment by ID.
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/myob_acumatica/api/payment.rb', line 26 def delete_by_id(access_token:, id:, instance_name: INSTANCE_NAME, endpoint_name: ENDPOINT_NAME, endpoint_version: ENDPOINT_VERSION, logger: nil) Http.request( instance_name: instance_name, access_token: access_token, method: :delete, endpoint_name: endpoint_name, endpoint_version: endpoint_version, path: "Payment/#{id}", logger: logger ) end |
.delete_by_keys(access_token:, keys:, instance_name: INSTANCE_NAME, endpoint_name: ENDPOINT_NAME, endpoint_version: ENDPOINT_VERSION, logger: nil) ⇒ nil
Deletes a payment by composite keys.
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/myob_acumatica/api/payment.rb', line 58 def delete_by_keys(access_token:, keys:, instance_name: INSTANCE_NAME, endpoint_name: ENDPOINT_NAME, endpoint_version: ENDPOINT_VERSION, logger: nil) Http.request( instance_name: instance_name, access_token: access_token, method: :delete, endpoint_name: endpoint_name, endpoint_version: endpoint_version, path: "Payment/#{keys.join('/')}", logger: logger ) end |
.get_ad_hoc_schema(access_token:, instance_name: INSTANCE_NAME, endpoint_name: ENDPOINT_NAME, endpoint_version: ENDPOINT_VERSION, logger: nil) ⇒ Hash
Retrieves the ad-hoc schema for the payment endpoint.
88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 |
# File 'lib/myob_acumatica/api/payment.rb', line 88 def get_ad_hoc_schema(access_token:, instance_name: INSTANCE_NAME, endpoint_name: ENDPOINT_NAME, endpoint_version: ENDPOINT_VERSION, logger: nil) Http.request( instance_name: instance_name, access_token: access_token, method: :get, endpoint_name: endpoint_name, endpoint_version: endpoint_version, path: 'Payment/$adHocSchema', logger: logger ) end |
.get_by_id(access_token:, id:, query_params: {}, instance_name: INSTANCE_NAME, endpoint_name: ENDPOINT_NAME, endpoint_version: ENDPOINT_VERSION, logger: nil) ⇒ Hash
Retrieves a payment by unique ID.
121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 |
# File 'lib/myob_acumatica/api/payment.rb', line 121 def get_by_id(access_token:, id:, query_params: {}, instance_name: INSTANCE_NAME, endpoint_name: ENDPOINT_NAME, endpoint_version: ENDPOINT_VERSION, logger: nil) Http.request( instance_name: instance_name, access_token: access_token, method: :get, endpoint_name: endpoint_name, endpoint_version: endpoint_version, path: "Payment/#{id}", query_params: query_params, logger: logger ) end |
.get_by_keys(access_token:, keys:, query_params: {}, instance_name: INSTANCE_NAME, endpoint_name: ENDPOINT_NAME, endpoint_version: ENDPOINT_VERSION, logger: nil) ⇒ Hash
Retrieves a payment by composite keys.
155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 |
# File 'lib/myob_acumatica/api/payment.rb', line 155 def get_by_keys(access_token:, keys:, query_params: {}, instance_name: INSTANCE_NAME, endpoint_name: ENDPOINT_NAME, endpoint_version: ENDPOINT_VERSION, logger: nil) Http.request( instance_name: instance_name, access_token: access_token, method: :get, endpoint_name: endpoint_name, endpoint_version: endpoint_version, path: "Payment/#{keys.join('/')}", query_params: query_params, logger: logger ) end |
.get_list(access_token:, query_params: {}, instance_name: INSTANCE_NAME, endpoint_name: ENDPOINT_NAME, endpoint_version: ENDPOINT_VERSION, logger: nil) ⇒ Array<Hash>
Retrieves a list of payments.
188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 |
# File 'lib/myob_acumatica/api/payment.rb', line 188 def get_list(access_token:, query_params: {}, instance_name: INSTANCE_NAME, endpoint_name: ENDPOINT_NAME, endpoint_version: ENDPOINT_VERSION, logger: nil) Http.request( instance_name: instance_name, access_token: access_token, method: :get, endpoint_name: endpoint_name, endpoint_version: endpoint_version, path: 'Payment', query_params: query_params, logger: logger ) end |
.invoke_action(access_token:, action_name:, entity:, parameters: {}, instance_name: INSTANCE_NAME, endpoint_name: ENDPOINT_NAME, endpoint_version: ENDPOINT_VERSION, logger: nil) ⇒ Hash?
Invokes a custom action on a payment.
313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 |
# File 'lib/myob_acumatica/api/payment.rb', line 313 def invoke_action(access_token:, action_name:, entity:, parameters: {}, instance_name: INSTANCE_NAME, endpoint_name: ENDPOINT_NAME, endpoint_version: ENDPOINT_VERSION, logger: nil) Http.request( instance_name: instance_name, access_token: access_token, method: :post, endpoint_name: endpoint_name, endpoint_version: endpoint_version, path: "Payment/#{action_name}", body: { 'entity' => entity, 'parameters' => parameters }, logger: logger ) end |
.put_entity(access_token:, entity:, query_params: {}, instance_name: INSTANCE_NAME, endpoint_name: ENDPOINT_NAME, endpoint_version: ENDPOINT_VERSION, logger: nil) ⇒ Hash
Creates or updates a payment entity.
228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 |
# File 'lib/myob_acumatica/api/payment.rb', line 228 def put_entity(access_token:, entity:, query_params: {}, instance_name: INSTANCE_NAME, endpoint_name: ENDPOINT_NAME, endpoint_version: ENDPOINT_VERSION, logger: nil) Http.request( instance_name: instance_name, access_token: access_token, method: :put, endpoint_name: endpoint_name, endpoint_version: endpoint_version, path: 'Payment', body: entity, query_params: query_params, logger: logger ) end |
.put_file(access_token:, keys:, file_path:, instance_name: INSTANCE_NAME, endpoint_name: ENDPOINT_NAME, endpoint_version: ENDPOINT_VERSION, logger: nil) ⇒ nil
Uploads a file to a payment record.
265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 |
# File 'lib/myob_acumatica/api/payment.rb', line 265 def put_file(access_token:, keys:, file_path:, instance_name: INSTANCE_NAME, endpoint_name: ENDPOINT_NAME, endpoint_version: ENDPOINT_VERSION, logger: nil) payment = get_by_keys( access_token: access_token, keys: keys, instance_name: instance_name, logger: logger ) put_url_template = payment.dig('_links', 'files:put') raise MyobAcumatica::Error, 'files:put link not found' unless put_url_template filename = File.basename(file_path) path = put_url_template.gsub('{filename}', filename) Http.request( instance_name: instance_name, access_token: access_token, method: :put, endpoint_name: endpoint_name, endpoint_version: endpoint_version, path: path, body: File.binread(file_path), content_type: 'application/octet-stream', logger: logger ) end |
.release_payment(access_token:, entity:, parameters: {}, instance_name: INSTANCE_NAME, endpoint_name: ENDPOINT_NAME, endpoint_version: ENDPOINT_VERSION, logger: nil) ⇒ Hash
Releases a payment.
420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 |
# File 'lib/myob_acumatica/api/payment.rb', line 420 def release_payment(access_token:, entity:, parameters: {}, instance_name: INSTANCE_NAME, endpoint_name: ENDPOINT_NAME, endpoint_version: ENDPOINT_VERSION, logger: nil) Http.request( instance_name: instance_name, access_token: access_token, method: :post, endpoint_name: endpoint_name, endpoint_version: endpoint_version, path: 'Payment/ReleasePayment', body: { 'entity' => entity, 'parameters' => parameters }, logger: logger ) end |
.void_card_payment(access_token:, entity:, parameters: {}, instance_name: INSTANCE_NAME, endpoint_name: ENDPOINT_NAME, endpoint_version: ENDPOINT_VERSION, logger: nil) ⇒ Hash
Voids a card payment.
454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 |
# File 'lib/myob_acumatica/api/payment.rb', line 454 def void_card_payment(access_token:, entity:, parameters: {}, instance_name: INSTANCE_NAME, endpoint_name: ENDPOINT_NAME, endpoint_version: ENDPOINT_VERSION, logger: nil) Http.request( instance_name: instance_name, access_token: access_token, method: :post, endpoint_name: endpoint_name, endpoint_version: endpoint_version, path: 'Payment/VoidCardPayment', body: { 'entity' => entity, 'parameters' => parameters }, logger: logger ) end |
.void_payment(access_token:, entity:, parameters: {}, instance_name: INSTANCE_NAME, endpoint_name: ENDPOINT_NAME, endpoint_version: ENDPOINT_VERSION, logger: nil) ⇒ Hash
Voids a payment.
488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 |
# File 'lib/myob_acumatica/api/payment.rb', line 488 def void_payment(access_token:, entity:, parameters: {}, instance_name: INSTANCE_NAME, endpoint_name: ENDPOINT_NAME, endpoint_version: ENDPOINT_VERSION, logger: nil) Http.request( instance_name: instance_name, access_token: access_token, method: :post, endpoint_name: endpoint_name, endpoint_version: endpoint_version, path: 'Payment/VoidPayment', body: { 'entity' => entity, 'parameters' => parameters }, logger: logger ) end |