@@ 453-484 (lines=32) @@ | ||
450 | * @param string $amount [Mandatory] |
|
451 | * @param string $channel [Mandatory - valid ["Cash", "BankTransfer", "POS", "Cheque"]] |
|
452 | */ |
|
453 | public function addPayment(string $reference_code, string $due_date, string $amount, string $channel){ |
|
454 | if(!$reference_code){ |
|
455 | throw new IsNullOrInvalid("Error Processing Request - Null/Invalid reference_code"); |
|
456 | } |
|
457 | ||
458 | if(!$due_date){ |
|
459 | throw new IsNullOrInvalid("Error Processing Request - Null/Invalid date"); |
|
460 | } |
|
461 | ||
462 | if(!$amount){ |
|
463 | throw new IsNullOrInvalid("Error Processing Request - Null/Invalid amount"); |
|
464 | } |
|
465 | ||
466 | $valid_channels = ["Cash", "BankTransfer", "POS", "Cheque"]; |
|
467 | ||
468 | if(!$channel){ |
|
469 | throw new IsNull("Error Processing Request - Null/Invalid amount"); |
|
470 | }elseif (!in_array(ucfirst($channel), $valid_channels)) { |
|
471 | throw new IsInvalid("Invalid Channel - Cash, BankTransfer, POS or Cheque"); |
|
472 | } |
|
473 | ||
474 | $url = "/payments"; |
|
475 | ||
476 | $post_data = [ |
|
477 | 'reference_code' => $reference_code, |
|
478 | 'date' => $due_date, |
|
479 | 'amount' => $amount, |
|
480 | 'channel' => $channel |
|
481 | ]; |
|
482 | ||
483 | return $this->sendRequest('post', $url, ['form_params' => $post_data]); |
|
484 | } |
|
485 | ||
486 | ||
487 | ||
@@ 539-571 (lines=33) @@ | ||
536 | * @param string $unit_cost [Mandatory - Product's unit cost] |
|
537 | * @param string $type [Mandatory - Product type 'product' or 'service'] |
|
538 | */ |
|
539 | public function addProduct(string $name, string $description, string $unit_cost, string $type){ |
|
540 | if(!$name){ |
|
541 | throw new IsNull("Error Processing Request - Null/Invalid name"); |
|
542 | } |
|
543 | ||
544 | if(!$description){ |
|
545 | throw new IsNull("Error Processing Request - Null/Invalid description"); |
|
546 | } |
|
547 | ||
548 | if(!$unit_cost){ |
|
549 | throw new IsNull("Error Processing Request - Null/Invalid unit_cost"); |
|
550 | } |
|
551 | ||
552 | //Validate Product Type |
|
553 | $valid_product_type = ["product", "service"]; |
|
554 | ||
555 | if(!$type){ |
|
556 | throw new IsNull("Error Processing Request - Null/Invalid type"); |
|
557 | }elseif (!in_array(strtolower($type), $valid_product_type)) { |
|
558 | throw new IsInvalid("Invalid Type - Available options: 'product' or 'service'"); |
|
559 | } |
|
560 | ||
561 | $url = "/products"; |
|
562 | ||
563 | $post_data = [ |
|
564 | 'name' => $name, |
|
565 | 'description' => $description, |
|
566 | 'unit_cost' => $unit_cost, |
|
567 | 'type' => $type |
|
568 | ]; |
|
569 | ||
570 | return $this->sendRequest('post', $url, ['form_params' => $post_data]); |
|
571 | } |
|
572 | ||
573 | ||
574 |