/home/techb158/ileadtechnology.com/vendor/paypal/rest-api-sdk-php/lib/PayPal/Api
NameSizeModeActions
Address.php10850644editdlrm
Agreement.php205130644editdlrm
AgreementDetails.php47870644editdlrm
AgreementStateDescriptor.php11490644editdlrm
AgreementTransaction.php48930644editdlrm
AgreementTransactions.php19350644editdlrm
AlternatePayment.php22300644editdlrm
Amount.php22980644editdlrm
Authorization.php158010644editdlrm
BankAccount.php143480644editdlrm
BankAccountsList.php26320644editdlrm
BankToken.php20360644editdlrm
BaseAddress.php42190644editdlrm
Billing.php7940644editdlrm
BillingAgreementToken.php3100644editdlrm
BillingInfo.php53760644editdlrm
CancelNotification.php36800644editdlrm
Capture.php90860644editdlrm
CarrierAccount.php30420644editdlrm
CarrierAccountToken.php14320644editdlrm
CartBase.php93800644editdlrm
ChargeModel.php15700644editdlrm
Cost.php14170644editdlrm
CountryCode.php9420644editdlrm
CreateProfileResponse.php6030644editdlrm
Credit.php10890644editdlrm
CreditCard.php154140644editdlrm
CreditCardHistory.php18490644editdlrm
CreditCardList.php26290644editdlrm
CreditCardToken.php40320644editdlrm
CreditFinancingOffered.php39890644editdlrm
Currency.php14750644editdlrm
CurrencyConversion.php55330644editdlrm
CustomAmount.php12510644editdlrm
DetailedRefund.php45500644editdlrm
Details.php58180644editdlrm
Error.php69850644editdlrm
ErrorDetails.php20920644editdlrm
ExtendedBankAccount.php9780644editdlrm
ExternalFunding.php33200644editdlrm
FileAttachment.php11380644editdlrm
FlowConfig.php31220644editdlrm
FmfDetails.php24050644editdlrm
FundingDetail.php23800644editdlrm
FundingInstrument.php77370644editdlrm
FundingOption.php49980644editdlrm
FundingSource.php63620644editdlrm
FuturePayment.php15600644editdlrm
HyperSchema.php33800644editdlrm
Image.php10110644editdlrm
Incentive.php44310644editdlrm
InputFields.php31040644editdlrm
InstallmentInfo.php31060644editdlrm
InstallmentOption.php21890644editdlrm
Invoice.php370400644editdlrm
InvoiceAddress.php6670644editdlrm
InvoiceItem.php51170644editdlrm
InvoiceNumber.php5850644editdlrm
InvoiceSearchResponse.php18210644editdlrm
Item.php98450644editdlrm
ItemList.php35020644editdlrm
Links.php25170644editdlrm
Measurement.php10760644editdlrm
MerchantInfo.php56380644editdlrm
MerchantPreferences.php60750644editdlrm
Metadata.php54500644editdlrm
NameValuePair.php11850644editdlrm
Notification.php31250644editdlrm
OpenIdAddress.php24510644editdlrm
OpenIdError.php18520644editdlrm
OpenIdSession.php37830644editdlrm
OpenIdTokeninfo.php82680644editdlrm
OpenIdUserinfo.php111610644editdlrm
Order.php135740644editdlrm
OverrideChargeModel.php11920644editdlrm
Participant.php41530644editdlrm
Patch.php22330644editdlrm
PatchRequest.php18470644editdlrm
Payee.php35310644editdlrm
Payer.php78300644editdlrm
PayerInfo.php92310644editdlrm
Payment.php197380644editdlrm
PaymentCard.php100530644editdlrm
PaymentCardToken.php33940644editdlrm
PaymentDefinition.php50220644editdlrm
PaymentDetail.php45570644editdlrm
PaymentExecution.php28170644editdlrm
PaymentHistory.php25260644editdlrm
PaymentInstruction.php46620644editdlrm
PaymentOptions.php22590644editdlrm
PaymentSummary.php11420644editdlrm
PaymentTerm.php16490644editdlrm
Payout.php49770644editdlrm
PayoutBatch.php24330644editdlrm
PayoutBatchHeader.php54640644editdlrm
PayoutItem.php64530644editdlrm
PayoutItemDetails.php59460644editdlrm
PayoutSenderBatchHeader.php52510644editdlrm
Phone.php15750644editdlrm
Plan.php120990644editdlrm
PlanList.php32490644editdlrm
PotentialPayerInfo.php24420644editdlrm
Presentation.php45820644editdlrm
PrivateLabelCard.php31180644editdlrm
ProcessorResponse.php37760644editdlrm
RecipientBankingInstruction.php32300644editdlrm
RedirectUrls.php16670644editdlrm
Refund.php71480644editdlrm
RefundDetail.php32450644editdlrm
RefundRequest.php37200644editdlrm
RelatedResources.php24670644editdlrm
Sale.php186400644editdlrm
Search.php125410644editdlrm
ShippingAddress.php22160644editdlrm
ShippingCost.php11790644editdlrm
ShippingInfo.php30080644editdlrm
Tax.php21740644editdlrm
Template.php78600644editdlrm
TemplateData.php151620644editdlrm
Templates.php69470644editdlrm
TemplateSettings.php14100644editdlrm
TemplateSettingsMetadata.php7050644editdlrm
Terms.php31380644editdlrm
Transaction.php14020644editdlrm
TransactionBase.php9430644editdlrm
Transactions.php6120644editdlrm
VerifyWebhookSignature.php73060644editdlrm
VerifyWebhookSignatureResponse.php8900644editdlrm
Webhook.php81820644editdlrm
WebhookEvent.php93050644editdlrm
WebhookEventList.php30530644editdlrm
WebhookEventType.php33500644editdlrm
WebhookEventTypeList.php15300644editdlrm
WebhookList.php13440644editdlrm
WebProfile.php86750644editdlrm
Edit: /home/techb158/ileadtechnology.com/vendor/paypal/rest-api-sdk-php/lib/PayPal/Api/Invoice.php (37040B)
id = $id; return $this; } /** * The unique invoice resource identifier. * * @return string */ public function getId() { return $this->id; } /** * Unique number that appears on the invoice. If left blank will be auto-incremented from the last number. 25 characters max. * * @param string $number * * @return $this */ public function setNumber($number) { $this->number = $number; return $this; } /** * Unique number that appears on the invoice. If left blank will be auto-incremented from the last number. 25 characters max. * * @return string */ public function getNumber() { return $this->number; } /** * The template ID used for the invoice. Useful for copy functionality. * * @param string $template_id * * @return $this */ public function setTemplateId($template_id) { $this->template_id = $template_id; return $this; } /** * The template ID used for the invoice. Useful for copy functionality. * * @return string */ public function getTemplateId() { return $this->template_id; } /** * URI of the invoice resource. * * @param string $uri * * @return $this */ public function setUri($uri) { $this->uri = $uri; return $this; } /** * URI of the invoice resource. * * @return string */ public function getUri() { return $this->uri; } /** * Status of the invoice. * Valid Values: ["DRAFT", "SENT", "PAID", "MARKED_AS_PAID", "CANCELLED", "REFUNDED", "PARTIALLY_REFUNDED", "MARKED_AS_REFUNDED", "UNPAID", "PAYMENT_PENDING"] * * @param string $status * * @return $this */ public function setStatus($status) { $this->status = $status; return $this; } /** * Status of the invoice. * * @return string */ public function getStatus() { return $this->status; } /** * Information about the merchant who is sending the invoice. * * @param \PayPal\Api\MerchantInfo $merchant_info * * @return $this */ public function setMerchantInfo($merchant_info) { $this->merchant_info = $merchant_info; return $this; } /** * Information about the merchant who is sending the invoice. * * @return \PayPal\Api\MerchantInfo */ public function getMerchantInfo() { return $this->merchant_info; } /** * The required invoice recipient email address and any optional billing information. One recipient is supported. * * @param \PayPal\Api\BillingInfo[] $billing_info * * @return $this */ public function setBillingInfo($billing_info) { $this->billing_info = $billing_info; return $this; } /** * The required invoice recipient email address and any optional billing information. One recipient is supported. * * @return \PayPal\Api\BillingInfo[] */ public function getBillingInfo() { return $this->billing_info; } /** * Append BillingInfo to the list. * * @param \PayPal\Api\BillingInfo $billingInfo * @return $this */ public function addBillingInfo($billingInfo) { if (!$this->getBillingInfo()) { return $this->setBillingInfo(array($billingInfo)); } else { return $this->setBillingInfo( array_merge($this->getBillingInfo(), array($billingInfo)) ); } } /** * Remove BillingInfo from the list. * * @param \PayPal\Api\BillingInfo $billingInfo * @return $this */ public function removeBillingInfo($billingInfo) { return $this->setBillingInfo( array_diff($this->getBillingInfo(), array($billingInfo)) ); } /** * For invoices sent by email, one or more email addresses to which to send a Cc: copy of the notification. Supports only email addresses under participant. * * @param \PayPal\Api\Participant[] $cc_info * * @return $this */ public function setCcInfo($cc_info) { $this->cc_info = $cc_info; return $this; } /** * For invoices sent by email, one or more email addresses to which to send a Cc: copy of the notification. Supports only email addresses under participant. * * @return \PayPal\Api\Participant[] */ public function getCcInfo() { return $this->cc_info; } /** * Append CcInfo to the list. * * @param \PayPal\Api\Participant $participant * @return $this */ public function addCcInfo($participant) { if (!$this->getCcInfo()) { return $this->setCcInfo(array($participant)); } else { return $this->setCcInfo( array_merge($this->getCcInfo(), array($participant)) ); } } /** * Remove CcInfo from the list. * * @param \PayPal\Api\Participant $participant * @return $this */ public function removeCcInfo($participant) { return $this->setCcInfo( array_diff($this->getCcInfo(), array($participant)) ); } /** * The shipping information for entities to whom items are being shipped. * * @param \PayPal\Api\ShippingInfo $shipping_info * * @return $this */ public function setShippingInfo($shipping_info) { $this->shipping_info = $shipping_info; return $this; } /** * The shipping information for entities to whom items are being shipped. * * @return \PayPal\Api\ShippingInfo */ public function getShippingInfo() { return $this->shipping_info; } /** * The list of items to include in the invoice. Maximum value is 100 items per invoice. * * @param \PayPal\Api\InvoiceItem[] $items * * @return $this */ public function setItems($items) { $this->items = $items; return $this; } /** * The list of items to include in the invoice. Maximum value is 100 items per invoice. * * @return \PayPal\Api\InvoiceItem[] */ public function getItems() { return $this->items; } /** * Append Items to the list. * * @param \PayPal\Api\InvoiceItem $invoiceItem * @return $this */ public function addItem($invoiceItem) { if (!$this->getItems()) { return $this->setItems(array($invoiceItem)); } else { return $this->setItems( array_merge($this->getItems(), array($invoiceItem)) ); } } /** * Remove Items from the list. * * @param \PayPal\Api\InvoiceItem $invoiceItem * @return $this */ public function removeItem($invoiceItem) { return $this->setItems( array_diff($this->getItems(), array($invoiceItem)) ); } /** * The date when the invoice was enabled. The date format is *yyyy*-*MM*-*dd* *z* as defined in [Internet Date/Time Format](http://tools.ietf.org/html/rfc3339#section-5.6). * * @param string $invoice_date * * @return $this */ public function setInvoiceDate($invoice_date) { $this->invoice_date = $invoice_date; return $this; } /** * The date when the invoice was enabled. The date format is *yyyy*-*MM*-*dd* *z* as defined in [Internet Date/Time Format](http://tools.ietf.org/html/rfc3339#section-5.6). * * @return string */ public function getInvoiceDate() { return $this->invoice_date; } /** * Optional. The payment deadline for the invoice. Value is either `term_type` or `due_date` but not both. * * @param \PayPal\Api\PaymentTerm $payment_term * * @return $this */ public function setPaymentTerm($payment_term) { $this->payment_term = $payment_term; return $this; } /** * Optional. The payment deadline for the invoice. Value is either `term_type` or `due_date` but not both. * * @return \PayPal\Api\PaymentTerm */ public function getPaymentTerm() { return $this->payment_term; } /** * Reference data, such as PO number, to add to the invoice. Maximum length is 60 characters. * * @param string $reference * * @return $this */ public function setReference($reference) { $this->reference = $reference; return $this; } /** * Reference data, such as PO number, to add to the invoice. Maximum length is 60 characters. * * @return string */ public function getReference() { return $this->reference; } /** * The invoice level discount, as a percent or an amount value. * * @param \PayPal\Api\Cost $discount * * @return $this */ public function setDiscount($discount) { $this->discount = $discount; return $this; } /** * The invoice level discount, as a percent or an amount value. * * @return \PayPal\Api\Cost */ public function getDiscount() { return $this->discount; } /** * The shipping cost, as a percent or an amount value. * * @param \PayPal\Api\ShippingCost $shipping_cost * * @return $this */ public function setShippingCost($shipping_cost) { $this->shipping_cost = $shipping_cost; return $this; } /** * The shipping cost, as a percent or an amount value. * * @return \PayPal\Api\ShippingCost */ public function getShippingCost() { return $this->shipping_cost; } /** * The custom amount to apply on an invoice. If you include a label, the amount cannot be empty. * * @param \PayPal\Api\CustomAmount $custom * * @return $this */ public function setCustom($custom) { $this->custom = $custom; return $this; } /** * The custom amount to apply on an invoice. If you include a label, the amount cannot be empty. * * @return \PayPal\Api\CustomAmount */ public function getCustom() { return $this->custom; } /** * Indicates whether the invoice allows a partial payment. If set to `false`, invoice must be paid in full. If set to `true`, the invoice allows partial payments. Default is `false`. * * @param bool $allow_partial_payment * * @return $this */ public function setAllowPartialPayment($allow_partial_payment) { $this->allow_partial_payment = $allow_partial_payment; return $this; } /** * Indicates whether the invoice allows a partial payment. If set to `false`, invoice must be paid in full. If set to `true`, the invoice allows partial payments. Default is `false`. * * @return bool */ public function getAllowPartialPayment() { return $this->allow_partial_payment; } /** * If `allow_partial_payment` is set to `true`, the minimum amount allowed for a partial payment. * * @param \PayPal\Api\Currency $minimum_amount_due * * @return $this */ public function setMinimumAmountDue($minimum_amount_due) { $this->minimum_amount_due = $minimum_amount_due; return $this; } /** * If `allow_partial_payment` is set to `true`, the minimum amount allowed for a partial payment. * * @return \PayPal\Api\Currency */ public function getMinimumAmountDue() { return $this->minimum_amount_due; } /** * Indicates whether tax is calculated before or after a discount. If set to `false`, the tax is calculated before a discount. If set to `true`, the tax is calculated after a discount. Default is `false`. * * @param bool $tax_calculated_after_discount * * @return $this */ public function setTaxCalculatedAfterDiscount($tax_calculated_after_discount) { $this->tax_calculated_after_discount = $tax_calculated_after_discount; return $this; } /** * Indicates whether tax is calculated before or after a discount. If set to `false`, the tax is calculated before a discount. If set to `true`, the tax is calculated after a discount. Default is `false`. * * @return bool */ public function getTaxCalculatedAfterDiscount() { return $this->tax_calculated_after_discount; } /** * Indicates whether the unit price includes tax. Default is `false`. * * @param bool $tax_inclusive * * @return $this */ public function setTaxInclusive($tax_inclusive) { $this->tax_inclusive = $tax_inclusive; return $this; } /** * Indicates whether the unit price includes tax. Default is `false`. * * @return bool */ public function getTaxInclusive() { return $this->tax_inclusive; } /** * General terms of the invoice. 4000 characters max. * * @param string $terms * * @return $this */ public function setTerms($terms) { $this->terms = $terms; return $this; } /** * General terms of the invoice. 4000 characters max. * * @return string */ public function getTerms() { return $this->terms; } /** * Note to the payer. 4000 characters max. * * @param string $note * * @return $this */ public function setNote($note) { $this->note = $note; return $this; } /** * Note to the payer. 4000 characters max. * * @return string */ public function getNote() { return $this->note; } /** * A private bookkeeping memo for the merchant. Maximum length is 150 characters. * * @param string $merchant_memo * * @return $this */ public function setMerchantMemo($merchant_memo) { $this->merchant_memo = $merchant_memo; return $this; } /** * A private bookkeeping memo for the merchant. Maximum length is 150 characters. * * @return string */ public function getMerchantMemo() { return $this->merchant_memo; } /** * Full URL of an external image to use as the logo. Maximum length is 4000 characters. * * @param string $logo_url * @throws \InvalidArgumentException * @return $this */ public function setLogoUrl($logo_url) { UrlValidator::validate($logo_url, "LogoUrl"); $this->logo_url = $logo_url; return $this; } /** * Full URL of an external image to use as the logo. Maximum length is 4000 characters. * * @return string */ public function getLogoUrl() { return $this->logo_url; } /** * The total amount of the invoice. * * @param \PayPal\Api\Currency $total_amount * * @return $this */ public function setTotalAmount($total_amount) { $this->total_amount = $total_amount; return $this; } /** * The total amount of the invoice. * * @return \PayPal\Api\Currency */ public function getTotalAmount() { return $this->total_amount; } /** * List of payment details for the invoice. * * @param \PayPal\Api\PaymentDetail[] $payments * * @return $this */ public function setPayments($payments) { $this->payments = $payments; return $this; } /** * List of payment details for the invoice. * * @return \PayPal\Api\PaymentDetail[] */ public function getPayments() { return $this->payments; } /** * Append Payments to the list. * * @param \PayPal\Api\PaymentDetail $paymentDetail * @return $this */ public function addPayment($paymentDetail) { if (!$this->getPayments()) { return $this->setPayments(array($paymentDetail)); } else { return $this->setPayments( array_merge($this->getPayments(), array($paymentDetail)) ); } } /** * Remove Payments from the list. * * @param \PayPal\Api\PaymentDetail $paymentDetail * @return $this */ public function removePayment($paymentDetail) { return $this->setPayments( array_diff($this->getPayments(), array($paymentDetail)) ); } /** * List of refund details for the invoice. * * @param \PayPal\Api\RefundDetail[] $refunds * * @return $this */ public function setRefunds($refunds) { $this->refunds = $refunds; return $this; } /** * List of refund details for the invoice. * * @return \PayPal\Api\RefundDetail[] */ public function getRefunds() { return $this->refunds; } /** * Append Refunds to the list. * * @param \PayPal\Api\RefundDetail $refundDetail * @return $this */ public function addRefund($refundDetail) { if (!$this->getRefunds()) { return $this->setRefunds(array($refundDetail)); } else { return $this->setRefunds( array_merge($this->getRefunds(), array($refundDetail)) ); } } /** * Remove Refunds from the list. * * @param \PayPal\Api\RefundDetail $refundDetail * @return $this */ public function removeRefund($refundDetail) { return $this->setRefunds( array_diff($this->getRefunds(), array($refundDetail)) ); } /** * Audit information for the invoice. * * @param \PayPal\Api\Metadata $metadata * * @return $this */ public function setMetadata($metadata) { $this->metadata = $metadata; return $this; } /** * Audit information for the invoice. * * @return \PayPal\Api\Metadata */ public function getMetadata() { return $this->metadata; } /** * Any miscellaneous invoice data. Maximum length is 4000 characters. * @deprecated Not publicly available * @param string $additional_data * * @return $this */ public function setAdditionalData($additional_data) { $this->additional_data = $additional_data; return $this; } /** * Any miscellaneous invoice data. Maximum length is 4000 characters. * @deprecated Not publicly available * @return string */ public function getAdditionalData() { return $this->additional_data; } /** * Payment summary of the invoice including amount paid through PayPal and other sources. * * @param \PayPal\Api\PaymentSummary $paid_amount * * @return $this */ public function setPaidAmount($paid_amount) { $this->paid_amount = $paid_amount; return $this; } /** * Payment summary of the invoice including amount paid through PayPal and other sources. * * @return \PayPal\Api\PaymentSummary */ public function getPaidAmount() { return $this->paid_amount; } /** * Payment summary of the invoice including amount refunded through PayPal and other sources. * * @param \PayPal\Api\PaymentSummary $refunded_amount * * @return $this */ public function setRefundedAmount($refunded_amount) { $this->refunded_amount = $refunded_amount; return $this; } /** * Payment summary of the invoice including amount refunded through PayPal and other sources. * * @return \PayPal\Api\PaymentSummary */ public function getRefundedAmount() { return $this->refunded_amount; } /** * List of files attached to the invoice. * * @param \PayPal\Api\FileAttachment[] $attachments * * @return $this */ public function setAttachments($attachments) { $this->attachments = $attachments; return $this; } /** * List of files attached to the invoice. * * @return \PayPal\Api\FileAttachment[] */ public function getAttachments() { return $this->attachments; } /** * Append Attachments to the list. * * @param \PayPal\Api\FileAttachment $fileAttachment * @return $this */ public function addAttachment($fileAttachment) { if (!$this->getAttachments()) { return $this->setAttachments(array($fileAttachment)); } else { return $this->setAttachments( array_merge($this->getAttachments(), array($fileAttachment)) ); } } /** * Remove Attachments from the list. * * @param \PayPal\Api\FileAttachment $fileAttachment * @return $this */ public function removeAttachment($fileAttachment) { return $this->setAttachments( array_diff($this->getAttachments(), array($fileAttachment)) ); } /** * Creates an invoice. Include invoice details including merchant information in the request. * * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls * @return Invoice */ public function create($apiContext = null, $restCall = null) { $payLoad = $this->toJSON(); $json = self::executeCall( "/v1/invoicing/invoices", "POST", $payLoad, null, $apiContext, $restCall ); $this->fromJson($json); return $this; } /** * Searches for an invoice or invoices. Include a search object that specifies your search criteria in the request. * * @param Search $search * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls * @return InvoiceSearchResponse */ public static function search($search, $apiContext = null, $restCall = null) { ArgumentValidator::validate($search, 'search'); $payLoad = $search->toJSON(); $json = self::executeCall( "/v1/invoicing/search", "POST", $payLoad, null, $apiContext, $restCall ); $ret = new InvoiceSearchResponse(); $ret->fromJson($json); return $ret; } /** * Sends an invoice, by ID, to a recipient. Optionally, set the `notify_merchant` query parameter to send the merchant an invoice update notification. By default, `notify_merchant` is `true`. * * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls * @return bool */ public function send($apiContext = null, $restCall = null) { ArgumentValidator::validate($this->getId(), "Id"); $payLoad = ""; self::executeCall( "/v1/invoicing/invoices/{$this->getId()}/send", "POST", $payLoad, null, $apiContext, $restCall ); return true; } /** * Sends a reminder about a specific invoice, by ID, to a recipient. Include a notification object that defines the reminder subject and other details in the JSON request body. * * @param Notification $notification * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls * @return bool */ public function remind($notification, $apiContext = null, $restCall = null) { ArgumentValidator::validate($this->getId(), "Id"); ArgumentValidator::validate($notification, 'notification'); $payLoad = $notification->toJSON(); self::executeCall( "/v1/invoicing/invoices/{$this->getId()}/remind", "POST", $payLoad, null, $apiContext, $restCall ); return true; } /** * Cancels an invoice, by ID. * * @param CancelNotification $cancelNotification * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls * @return bool */ public function cancel($cancelNotification, $apiContext = null, $restCall = null) { ArgumentValidator::validate($this->getId(), "Id"); ArgumentValidator::validate($cancelNotification, 'cancelNotification'); $payLoad = $cancelNotification->toJSON(); self::executeCall( "/v1/invoicing/invoices/{$this->getId()}/cancel", "POST", $payLoad, null, $apiContext, $restCall ); return true; } /** * Marks the status of a specified invoice, by ID, as paid. Include a payment detail object that defines the payment method and other details in the JSON request body. * * @param PaymentDetail $paymentDetail * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls * @return bool */ public function recordPayment($paymentDetail, $apiContext = null, $restCall = null) { ArgumentValidator::validate($this->getId(), "Id"); ArgumentValidator::validate($paymentDetail, 'paymentDetail'); $payLoad = $paymentDetail->toJSON(); self::executeCall( "/v1/invoicing/invoices/{$this->getId()}/record-payment", "POST", $payLoad, null, $apiContext, $restCall ); return true; } /** * Marks the status of a specified invoice, by ID, as refunded. Include a refund detail object that defines the refund type and other details in the JSON request body. * * @param RefundDetail $refundDetail * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls * @return bool */ public function recordRefund($refundDetail, $apiContext = null, $restCall = null) { ArgumentValidator::validate($this->getId(), "Id"); ArgumentValidator::validate($refundDetail, 'refundDetail'); $payLoad = $refundDetail->toJSON(); self::executeCall( "/v1/invoicing/invoices/{$this->getId()}/record-refund", "POST", $payLoad, null, $apiContext, $restCall ); return true; } /** * Gets the details for a specified invoice, by ID. * * @param string $invoiceId * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls * @return Invoice */ public static function get($invoiceId, $apiContext = null, $restCall = null) { ArgumentValidator::validate($invoiceId, 'invoiceId'); $payLoad = ""; $json = self::executeCall( "/v1/invoicing/invoices/$invoiceId", "GET", $payLoad, null, $apiContext, $restCall ); $ret = new Invoice(); $ret->fromJson($json); return $ret; } /** * Lists some or all merchant invoices. Filters the response by any specified optional query string parameters. * * @param array $params * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls * @return InvoiceSearchResponse */ public static function getAll($params = array(), $apiContext = null, $restCall = null) { ArgumentValidator::validate($params, 'params'); $allowedParams = array( 'page' => 1, 'page_size' => 1, 'total_count_required' => 1 ); $payLoad = ""; $json = self::executeCall( "/v1/invoicing/invoices/?" . http_build_query(array_intersect_key($params, $allowedParams)), "GET", $payLoad, null, $apiContext, $restCall ); $ret = new InvoiceSearchResponse(); $ret->fromJson($json); return $ret; } /** * Fully updates an invoice by passing the invoice ID to the request URI. In addition, pass a complete invoice object in the request JSON. Partial updates are not supported. * * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls * @return Invoice */ public function update($apiContext = null, $restCall = null) { ArgumentValidator::validate($this->getId(), "Id"); $payLoad = $this->toJSON(); $json = self::executeCall( "/v1/invoicing/invoices/{$this->getId()}", "PUT", $payLoad, null, $apiContext, $restCall ); $this->fromJson($json); return $this; } /** * Delete a particular invoice by passing the invoice ID to the request URI. * * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls * @return bool */ public function delete($apiContext = null, $restCall = null) { ArgumentValidator::validate($this->getId(), "Id"); $payLoad = ""; self::executeCall( "/v1/invoicing/invoices/{$this->getId()}", "DELETE", $payLoad, null, $apiContext, $restCall ); return true; } /** * Delete external payment. * * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls * @return bool */ public function deleteExternalPayment($transactionId, $apiContext = null, $restCall = null) { ArgumentValidator::validate($this->getId(), "Id"); ArgumentValidator::validate($transactionId, "TransactionId"); $payLoad = ""; self::executeCall( "/v1/invoicing/invoices/{$this->getId()}/payment-records/{$transactionId}", "DELETE", $payLoad, null, $apiContext, $restCall ); return true; } /** * Delete external refund. * * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls * @return bool */ public function deleteExternalRefund($transactionId, $apiContext = null, $restCall = null) { ArgumentValidator::validate($this->getId(), "Id"); ArgumentValidator::validate($transactionId, "TransactionId"); $payLoad = ""; self::executeCall( "/v1/invoicing/invoices/{$this->getId()}/refund-records/{$transactionId}", "DELETE", $payLoad, null, $apiContext, $restCall ); return true; } /** * Generate a QR code for an invoice by passing the invoice ID to the request URI. The request generates a QR code that is 500 pixels in width and height. You can change the dimensions of the returned code by specifying optional query parameters. * * @param array $params * @param string $invoiceId * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls * @return Image */ public static function qrCode($invoiceId, $params = array(), $apiContext = null, $restCall = null) { ArgumentValidator::validate($invoiceId, 'invoiceId'); ArgumentValidator::validate($params, 'params'); $allowedParams = array( 'width' => 1, 'height' => 1, 'action' => 1 ); $payLoad = ""; $json = self::executeCall( "/v1/invoicing/invoices/$invoiceId/qr-code?" . http_build_query(array_intersect_key($params, $allowedParams)), "GET", $payLoad, null, $apiContext, $restCall ); $ret = new Image(); $ret->fromJson($json); return $ret; } /** * Generates the successive invoice number. * * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls * @return InvoiceNumber */ public static function generateNumber($apiContext = null, $restCall = null) { $payLoad = ""; $json = self::executeCall( "/v1/invoicing/invoices/next-invoice-number", "POST", $payLoad, null, $apiContext, $restCall ); $ret = new InvoiceNumber(); $ret->fromJson($json); return $ret; } }