Invoice Component
Properties Methods Events Configuration Settings Errors
Invoice allows merchants to easily create, send, and manage invoices using PayPal.
Syntax
TiblInvoice
Remarks
The Invoice component is used to create invoices and send them to the recipient via email. To create an invoice, the MerchantInfo, BillingInfo, ShippingInfo, InvoiceInfo, and InvoiceItems can be set to the desired invoice details. After entering the information to be contained on the invoice, you can then create it by calling CreateInvoice and send it by calling Send. If you wish to create an invoice and send it immediately, you can make a single call to CreateAndSend.
If you wish to alter invoice details after it has been created, you can set MerchantInfo, BillingInfo, ShippingInfo, InvoiceInfo, and InvoiceItems as desired and then call Update. This will update an existing invoice using the new details specified. Note that you can remove items from the invoice by removing it from InvoiceItems prior to calling Update.
To cancel an invoice, you can set CancellationInfo to provide details about the cancellation and then call Cancel.
To mark an invoice as paid, PaymentInfo can be set to the describe the payment and then MarkAsPaid can be called.
The Invoice component also provides search features which allows you to find and filter created invoices. To perform a search, just set SearchCriteria to the desired search parameters and call Search. The invoices that match the specified search parameters will be returned via SearchResults. If you happen to know the ID of the invoice you wish to retrieve details about, you can use GetDetails to obtain in depth details for the specified invoice.
Property List
The following is the full list of the properties of the component with short descriptions. Click on the links for further details.
Ack | Acknowledgement code received from PayPal. |
ApplicationId | Your application's identification, which is issued by PayPal. |
BillingBusinessName | The business name. |
BillingCity | The city of the contact. |
BillingCountryCode | The country code of the contact. |
BillingCustomValue | Custom value to be displayed in the contact information details. |
BillingEmail | The email address of the contact. |
BillingFax | The fax number of the contact. |
BillingFirstName | The first name of the contact. |
BillingLastName | The last name of the contact. |
BillingPhone | The phone number of the contact. |
BillingState | The state of the contact. |
BillingStreet1 | The street name for the contact. |
BillingStreet2 | An extra street line for the contact. |
BillingWebsite | The website of the contact. |
BillingZip | The zip code of the contact. |
CancellationNote | Contains a note to send the payer within the cancellation notification. |
CancellationSendMerchantCopy | Indicates whether to send a copy of the cancellation notification to the merchant. |
CancellationSubject | Contains the subject of the cancellation notification. |
CurrencyCode | Currency code used for all invoice item amounts and totals. |
DeviceIP | Client's IP address. |
FirewallAutoDetect | This property tells the component whether or not to automatically detect and use firewall system settings, if available. |
FirewallType | This property determines the type of firewall to connect through. |
FirewallHost | This property contains the name or IP address of firewall (optional). |
FirewallPassword | This property contains a password if authentication is to be used when connecting through the firewall. |
FirewallPort | This property contains the TCP port for the firewall Host . |
FirewallUser | This property contains a user name if authentication is to be used connecting through a firewall. |
Idle | The current status of the component. |
InvoiceDetailCanceledBy | Contains the account that canceled the invoice. |
InvoiceDetailCanceledByActor | Contains the actor that canceled the invoice. |
InvoiceDetailCanceledDate | Contains the date on which the invoice was canceled. |
InvoiceDetailCreatedBy | Contains the account that created the invoice. |
InvoiceDetailCreatedDate | Contains the date on which the invoice was created. |
InvoiceDetailFirstSentDate | Contains the date on which the invoice was first sent. |
InvoiceDetailOrigin | Contains the origin of which the invoice was created. |
InvoiceDetailStatus | Contains the status of the invoice. |
InvoiceDetailTotalAmount | Contains the total amount of the invoice. |
InvoiceDetailLastSentBy | Contains the account that last sent the invoice. |
InvoiceDetailLastSentDate | Contains the date on which the invoice was last sent. |
InvoiceDetailLastUpdatedBy | Contains the account last edited the invoice. |
InvoiceDetailLastUpdatedDate | Contains the date on which the invoice was last updated. |
InvoiceDetailPaidDate | Contains the date on which the invoice was paid. |
InvoiceDate | Contains the date on which the invoice is enabled. |
InvoiceDiscountAmount | The discount amount applied to the invoice. |
InvoiceDiscountPercent | The discount percent applied to the invoice. |
InvoiceDueDate | Contains the date on which the payment is due. |
InvoiceLogoURL | Contains the complete URL to an external image used as the logo. |
InvoiceMerchantMemo | Memo for bookkeeping that is private to the merchant. |
InvoiceNote | Note to the payer company. |
InvoiceNumber | Contains the number of the invoice as assigned by the merchant. |
InvoicePaymentTerm | Specifies the term by which the invoice payment is due. |
InvoiceShippingAmount | The cost of shipping. |
InvoiceShippingTaxName | Name of the applicable tax on shipping cost. |
InvoiceShippingTaxRate | Rate of the applicable tax on shipping cost. |
InvoiceTerms | General terms for the invoice. |
InvoiceItemCount | The number of records in the InvoiceItem arrays. |
InvoiceItemDate | Date on which the product or service was provided. |
InvoiceItemDescription | Description of the invoice item. |
InvoiceItemName | SKU or name of the item. |
InvoiceItemQuantity | Item count. |
InvoiceItemTaxName | Name of the applicable tax. |
InvoiceItemTaxRate | Rate of the applicable tax. |
InvoiceItemUnitPrice | Price of the item (in the currency specified by CurrencyCode ). |
MerchantBusinessName | The business name. |
MerchantCity | The city of the contact. |
MerchantCountryCode | The country code of the contact. |
MerchantCustomValue | Custom value to be displayed in the contact information details. |
MerchantEmail | The email address of the contact. |
MerchantFax | The fax number of the contact. |
MerchantFirstName | The first name of the contact. |
MerchantLastName | The last name of the contact. |
MerchantPhone | The phone number of the contact. |
MerchantState | The state of the contact. |
MerchantStreet1 | The street name for the contact. |
MerchantStreet2 | An extra street line for the contact. |
MerchantWebsite | The website of the contact. |
MerchantZip | The zip code of the contact. |
Password | Password for communicating with PayPal. |
PaymentDate | Contains the date on which the invoice was paid. |
PaymentMethod | This property is used to specify the method of payment used when marking an invoice as paid (via MarkAsPaid ). |
PaymentNote | Contains a note associated with the invoice payment. |
PaymentTransactionId | Contains the Transaction ID of a PayPal payment. |
ProxyAuthScheme | This property is used to tell the component which type of authorization to perform when connecting to the proxy. |
ProxyAutoDetect | This property tells the component whether or not to automatically detect and use proxy system settings, if available. |
ProxyPassword | This property contains a password if authentication is to be used for the proxy. |
ProxyPort | This property contains the TCP port for the proxy Server (default 80). |
ProxyServer | If a proxy Server is given, then the HTTP request is sent to the proxy instead of the server otherwise specified. |
ProxySSL | This property determines when to use SSL for the connection to the proxy. |
ProxyUser | This property contains a user name, if authentication is to be used for the proxy. |
ResponseInvoiceId | Contains the Id of the invoice as assigned by PayPal. |
ResponseInvoiceNumber | Contains the number of the invoice as assigned by the merchant. |
ResponseInvoiceURL | Contains the URL location where merchants can view the invoice details. |
SearchCriteriaBusinessName | Search by the Business's name. |
SearchCriteriaCreationEndDate | Invoice creation end date filter. |
SearchCriteriaCreationStartDate | Invoice creation start date filter. |
SearchCriteriaCurrencyCode | Search by currency code. |
SearchCriteriaDueEndDate | Invoice due end date filter. |
SearchCriteriaDueStartDate | Invoice due start date filter. |
SearchCriteriaEmail | Search by an email address. |
SearchCriteriaInvoiceEndDate | Invoice end date filter (the date in which the invoice was enabled). |
SearchCriteriaInvoiceNumber | Search by the invoice number. |
SearchCriteriaInvoiceStartDate | Invoice start date filter (the date in which the invoice was enabled). |
SearchCriteriaLowerAmount | Search by transaction invoice amount. |
SearchCriteriaMemo | Search by the invoice memo. |
SearchCriteriaOrigin | Search an invoice by its origin of creation. |
SearchCriteriaPage | The page number of the result set. |
SearchCriteriaPageSize | The specifies the number of results per page that should be returned. |
SearchCriteriaPaymentEndDate | Invoice payment end date filter. |
SearchCriteriaPaymentStartDate | Invoice payment start date filter. |
SearchCriteriaRecipientName | Search by the Recipient's name. |
SearchCriteriaStatus | Search by the invoice status. |
SearchCriteriaUpperAmount | Search by transaction invoice amount. |
SearchHasNextPage | Indicates if another page of invoice summary results exists. |
SearchHasPreviousPage | Indicates if a previous page of invoice summary results exists. |
SearchPage | The page number of the search result set. |
SearchResultCount | The number of records in the SearchResult arrays. |
SearchResultBillingBusinessName | Contains the business name of the billing contact. |
SearchResultBillingFirstName | Contains the first name of the billing contact. |
SearchResultBillingLastName | Contains the last name of the billing contact. |
SearchResultCurrencyCode | Contains the currency code used for all invoice item amounts and totals. |
SearchResultDueDate | Contains the date on which the invoice payment is due. |
SearchResultInvoiceDate | Contains the date on which the invoice was enabled. |
SearchResultInvoiceId | Contains the Id of the invoice as assigned by PayPal. |
SearchResultInvoiceNumber | Contains the number of the invoice as assigned by the merchant. |
SearchResultMerchantEmail | Contains the Merchant's email address of the invoice. |
SearchResultOrigin | Contains the origin of which the invoice was created. |
SearchResultPayerEmail | Contains the Payer's email address of the invoice. |
SearchResultShippingBusinessName | Contains the business name of the shipping contact. |
SearchResultShippingFirstName | Contains the first name of the shipping contact. |
SearchResultShippingLastName | Contains the last name of the shipping contact. |
SearchResultStatus | Contains the status of the invoice. |
SearchResultTotalAmount | Contains the total amount of the invoice. |
ShippingBusinessName | The business name. |
ShippingCity | The city of the contact. |
ShippingCountryCode | The country code of the contact. |
ShippingCustomValue | Custom value to be displayed in the contact information details. |
ShippingEmail | The email address of the contact. |
ShippingFax | The fax number of the contact. |
ShippingFirstName | The first name of the contact. |
ShippingLastName | The last name of the contact. |
ShippingPhone | The phone number of the contact. |
ShippingState | The state of the contact. |
ShippingStreet1 | The street name for the contact. |
ShippingStreet2 | An extra street line for the contact. |
ShippingWebsite | The website of the contact. |
ShippingZip | The zip code of the contact. |
Signature | Value to use with PayPal's Signature Authentication scheme. |
SSLAcceptServerCertEncoded | The certificate (PEM/base64 encoded). |
SSLCertEncoded | The certificate (PEM/base64 encoded). |
SSLCertStore | The name of the certificate store for the client certificate. |
SSLCertStorePassword | If the certificate store is of a type that requires a password, this property is used to specify that password in order to open the certificate store. |
SSLCertStoreType | The type of certificate store for this certificate. |
SSLCertSubject | The subject of the certificate used for client authentication. |
SSLServerCertEncoded | The certificate (PEM/base64 encoded). |
Timeout | A timeout for the component. |
TimeStamp | The date on which the response was sent. |
URL | URL all PayPal payment transactions are posted to. |
User | User name for communicating with Paypal. |
Method List
The following is the full list of the methods of the component with short descriptions. Click on the links for further details.
AddCustomField | This adds a custom name-value pair to be sent with the next request. |
Cancel | Cancels an invoice. |
Config | Sets or retrieves a configuration setting . |
CreateAndSend | Creates an invoice and sends it to the payer. |
CreateInvoice | Creates an invoice. |
DoEvents | Processes events from the internal message queue. |
GetDetails | Retrieves detailed information about an invoice. |
GetResponseVar | It is not uncommon for there to be additional response variables returned in the response that cannot be directly obtained via the Response properties. |
Interrupt | Interrupt the current method. |
MarkAsPaid | Marks an invoice as paid. |
Reset | Reset the internal state of the component and all properties to their default values. |
Search | Searches for invoices. |
Send | Sends an invoice to a payer. |
Update | Updates an invoice. |
Event List
The following is the full list of the events fired by the component with short descriptions. Click on the links for further details.
Error | Information about errors during data delivery. |
SSLServerAuthentication | Fired after the server presents its certificate to the client. |
SSLStatus | Shows the progress of the secure connection. |
Warning | Information about errors during data delivery. |
Configuration Settings
The following is a list of configuration settings for the component with short descriptions. Click on the links for further details.
ItemDiscountAmount | The discount amount for an invoice item. |
ItemDiscountPercent | The discount percent for an invoice item. |
AuthorizingAccount | Authorizing Account Email Address for third-party API access. |
AuthAccessToken | The access token returned by the PayPal Permission Service's GetAccessToken operation. |
AuthApplicationId | The Application ID for the application making a request to the PayPal Permissions Service. |
AuthAuthHeader | The PayPal Permissions Service authentication header. |
AuthAuthHeaderName | The name of the authentication header generated with the PayPal Permissions Service. |
AuthCallbackURL | The URL where PayPal will post the RequestToken and VerificationCode. |
AuthPassword | API Password for the PayPal Permissions Service. |
AuthRequestToken | The request token used to obtain an Access Token and Token Secret from the PayPal Permissions Service. |
AuthRequestURL | The URL for the PayPal Permissions Service operation being requested. |
AuthScope | Scope of permissions to be requested for PayPal Permissions Service. |
AuthSignature | API Signature for the PayPal Permissions Service. |
AuthTokenSecret | The token secret returned by the PayPal Permission Service's GetAccessToken operation. |
AuthUsername | API Username for the PayPal Permissions Service. |
AuthVerificationCode | The verification code used to obtain an Access Token and Token Secret from the PayPal Permissions Service. |
Build | Returns the Build number contained in the response. |
RawRequest | Returns the raw request sent to the server. |
RawResponse | Returns the full response. |
ResponseVersion | Returns the Version number contained in the response. |
Version | Allows the user to set the Version number in the request. |
AcceptEncoding | Used to tell the server which types of content encodings the client supports. |
AllowHTTPCompression | This property enables HTTP compression for receiving data. |
AllowIdenticalRedirectURL | Allow redirects to the same URL. |
Append | Whether to append data to LocalFile. |
Authorization | The Authorization string to be sent to the server. |
BytesTransferred | Contains the number of bytes transferred in the response data. |
EncodeURL | If set to true the URL will be encoded by the component. |
FollowRedirects | Determines what happens when the server issues a redirect. |
GetOn302Redirect | If set to true the component will perform a GET on the new location. |
HTTPVersion | The version of HTTP used by the component. |
IfModifiedSince | A date determining the maximum age of the desired document. |
KeepAlive | Determines whether the HTTP connection is closed after completion of the request. |
MaxRedirectAttempts | Limits the number of redirects that are followed in a request. |
OtherHeaders | Other headers as determined by the user (optional). |
ProxyAuthorization | The authorization string to be sent to the proxy server. |
ProxyAuthScheme | The authorization scheme to be used for the proxy. |
ProxyPassword | A password if authentication is to be used for the proxy. |
ProxyPort | Port for the proxy server (default 80). |
ProxyServer | Name or IP address of a proxy server (optional). |
ProxyUser | A user name if authentication is to be used for the proxy. |
TransferredDataLimit | The maximum number of incoming bytes to be stored by the component. |
TransferredHeaders | The full set of headers as received from the server. |
UseChunkedEncoding | Enables or Disables HTTP chunked encoding for transfers. |
ChunkSize | Specifies the chunk size in bytes when using chunked encoding. |
UserAgent | Information about the user agent (browser). |
KerberosSPN | The Service Principal Name for the Kerberos Domain Controller. |
ConnectionTimeout | Sets a separate timeout value for establishing a connection. |
FirewallAutoDetect | Tells the component whether or not to automatically detect and use firewall system settings, if available. |
FirewallHost | Name or IP address of firewall (optional). |
FirewallPassword | Password to be used if authentication is to be used when connecting through the firewall. |
FirewallPort | The TCP port for the FirewallHost;. |
FirewallType | Determines the type of firewall to connect through. |
FirewallUser | A user name if authentication is to be used connecting through a firewall. |
KeepAliveTime | The inactivity time in milliseconds before a TCP keep-alive packet is sent. |
KeepAliveInterval | The retry interval, in milliseconds, to be used when a TCP keep-alive packet is sent and no response is received. |
Linger | When set to True, connections are terminated gracefully. |
LingerTime | Time in seconds to have the connection linger. |
LocalHost | The name of the local host through which connections are initiated or accepted. |
LocalPort | The TCP port in the local host where the component binds. |
MaxLineLength | The maximum amount of data to accumulate when no EOL is found. |
MaxTransferRate | The transfer rate limit in bytes per second. |
RecordLength | The length of received data records. |
TCPKeepAlive | Determines whether or not the keep alive socket option is enabled. |
UseIPv6 | Whether to use IPv6. |
TcpNoDelay | Whether or not to delay when sending packets. |
ReuseSSLSession | Determines if the SSL session is reused. |
SSLCipherStrength | The minimum cipher strength used for bulk encryption. |
SSLEnabledProtocols | Used to enable/disable the supported security protocols. |
SSLProvider | The name of the security provider to use. |
SSLSecurityFlags | Flags that control certificate verification. |
OpenSSLCADir | The path to a directory containing CA certificates. |
OpenSSLCAFile | Name of the file containing the list of CA's trusted by your application. |
OpenSSLCipherList | A string that controls the ciphers to be used by SSL. |
OpenSSLPrngSeedData | The data to seed the pseudo random number generator (PRNG). |
AbsoluteTimeout | Determines whether timeouts are inactivity timeouts or absolute timeouts. |
FirewallData | Used to send extra data to the firewall. |
InBufferSize | The size in bytes of the incoming queue of the socket. |
OutBufferSize | The size in bytes of the outgoing queue of the socket. |