AdaptivePreApproval Class
Properties Methods Events Configuration Settings Errors
The AdaptivePreApproval component is used to create, retrieve, and cancel preapproval transactions.
Syntax
inpaypal.adaptivepreapproval()
Remarks
The sender of a payment must approve the transfer. The sender can log in to paypal.com to approve each payment, preapprove payments, or when the sender is your application, be implicitly approved to make payments. There are 3 kinds of payment approvals:
- Explicit approval payments, in which the sender logs into paypal.com to approve each payment. Explicitly approving payments is the traditional way to pay with PayPal. This method is the only option unless the sender has set up a preapproval agreement or you, the API caller, are also the sender.
- Preapproved payments, in which a sender logs into PayPal and sets up preapprovals that approve future payments; for example, for a specific vendor. The sender logs into paypal.com once to set up the preapproval. After the preapproval is set up, payments are considered approved, and specific approval is unnecessary.
- Implicit approval payments, in which your application is both the sender of a payment and the caller of the Adaptive Payments Pay API. In this case, the payment is drawn from your own account, which eliminates the need for approval.
To set up a preapproval request, you must specify values for the following required properties (in addition to your PayPal credentials):
StartingDate | First date for which the preapproval is valid. It cannot be before today's date or after the EndingDate. |
EndingDate | Last date for which the preapproval is valid. It cannot be later than one year from the StartingDate. |
MaxTotalPaymentAmount | The preapproved maximum total amount of all payments. It cannot exceed $2,000 USD or its equivalent in other currencies. |
CurrencyCode | The code for the currency in which the payment is made. You can specify only one currency, regardless of the number of recipients. |
CancelURL | URL to redirect the sender's browser to in the event he cancels the preapproval. |
ReturnURL | URL to redirect the sender's browser to after the sender has logged into PayPal and confirmed the preapproval. |
ClientDetails | Information about the sender to whom the preapproval will be sent. |
Upon a successful CreatePreApproval request, the PreApprovalKey property will contain a key that may be used in the AdaptivePay class to identify this preapproval. It is also used when canceling or retrieving the details of a preapproval, by simply passing the value to the PreApprovalKey parameter of the CancelPreApproval or GetPreApprovalDetails methods.
Note: Preapproval requests require an advanced permission level.
Property List
The following is the full list of the properties of the class 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. |
Approved | Indicates whether a preapproval request was approved. |
AuthorizingAccount | Third-party permission specification. |
AddressCount | The number of records in the BillingAddress arrays. |
BillingAddressAddressName | The name of the person that is billed. |
BillingAddressCity | The city for the billing address. |
BillingAddressCountryCode | The country code for the billing address. |
BillingAddressLine1 | The street name for the billing address. |
BillingAddressLine2 | An extra line for the street address. |
BillingAddressPostalCode | The postal code of the billing address. |
BillingAddressState | The state for the billing address. |
CancelURL | URL the sender is redirected to upon canceling payment approval. |
ClientDetailsApplication | Your application's identification. |
ClientDetailsCustomerId | Your identification for this sender. |
ClientDetailsCustomerType | Your identification of the type of customer. |
ClientDetailsDeviceId | Sender's device Id. |
ClientDetailsGeoLocation | Sender's geographic location. |
ClientDetailsIPAddress | Sender's IP address. |
ClientDetailsModel | A sub-identification of the application. |
ClientDetailsPartnerName | Your organization's name or Id. |
CurrencyCode | The currency being used for this payment. |
CurrentPaymentAmount | The current total of payments by the sender for this preapproval. |
CurrentPaymentNumber | The current number of payments by the sender for this preapproval. |
CurrentPeriodAttempts | The current number of payments by the sender this period for this preapproval. |
CurrentPeriodEndingDate | Ending date for the current period. Time is currently not supported. |
DateOfMonth | The day of the month on which a monthly payment is to be made. |
DayOfWeek | The day of the week that a weekly payment is to be made. |
DeviceId | Client's device ID. |
DeviceIP | Client's IP address. |
EndingDate | Last date for which the preapproval is valid. |
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. |
MaxAmountPerPayment | The preapproved maximum amount per payment. |
MaxPayments | The preapproved maximum number of payments. |
MaxPaymentsPerPeriod | The preapproved maximum number of all payments per period. |
MaxTotalPaymentAmount | The preapproved maximum total amount of all payments. |
Memo | A note associated with the payment. |
NotificationURL | The URL to which you want all IPN messages for this payment to be sent. |
Password | Password for communicating with PayPal. |
PaymentPeriod | The payment period. |
PreApprovalKey | Returned from PayPal and used to identify this preapproval. |
PreApprovalStatus | Indicates the status of the preapproval. |
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. |
RequirePIN | Indicates whether a personal identification number is required. |
ReturnURL | The URL the sender is returned to after completing a transaction. |
SenderEmail | Sender's email address. |
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). |
StartingDate | First date for which the preapproval is valid. |
Timeout | A timeout for the component. |
TimeStamp | The date on which the response was sent. |
URL | URL all PayPal transactions are posted to. |
User | User name for communicating with Paypal. |
Method List
The following is the full list of the methods of the class with short descriptions. Click on the links for further details.
CancelPreApproval | Cancels an existing preapproval. |
Config | Sets or retrieves a configuration setting . |
CreatePreApproval | Sets up a preapproval transaction with PayPal. |
DoEvents | Processes events from the internal message queue. |
GetPreApprovalDetails | Retrieves information about an existing preapproval. |
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. |
Reset | Reset the internal state of the component and all properties to their default values. |
Event List
The following is the full list of the events fired by the class 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 class with short descriptions. Click on the links for further details.
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. |