PayPal Adaptive Payments Pro PayFlow CodeIgniter Library

PayPal Adaptive Payments Pro PayFlow CodeIgniter Library

A custom library for CodeIgniter that provides access to all PayPal NVP, Authentication, Permissions, Invoicing, Adaptive Payments, and PayFlow API's.

  • Language: PHP
    Framework: CodeIgniter
  • Released: Feb 21, 2011
    Last Update: Jan 19, 2014

Now Available on GitHub!

Important Notice

This CodeIgniter specific version of this class library is no longer being maintained. It will remain here in its current state, but all future updates and maintenance will be focused on our standard library.

The standard library is now fully compatible with Composer and available on Packagist so you may use it in CodeIgniter or any other framework you wish.

This library includes all of the PayPal NVP API calls as well as Adaptive Payments, Invoicing, Adaptive Accounts, Permissions, and PayFlow.

The controller includes "template" methods for every call that includes all of the possible parameters that can be passed into that particular call. 

All you have to do is fill in the blank parameters in the array templates and pass that into the library method.  An array will be returned with all of the response fields from PayPal as well as a few extra fields for troubleshooting purposes.

PayPal Payments Pro

  • AddressVerify
  • BillAgreementUpdate
  • BillOutstandingAmount
  • CreateRecurringPaymentsProfile
  • DoAuthorization
  • DoCapture
  • DoDirectPayment
  • DoExpressCheckoutPayment
  • DoMobileCheckoutPayment
  • DoNonReferencedCredit
  • DoReauthorization
  • DoReferenceTransaction
  • DoVoid
  • GetAccessPermissionsDetails
  • GetAuthDetails
  • GetBalance
  • GetBillingAgreementCustomerDetails
  • GetExpressCheckoutDetails
  • GetTransactionDetails
  • ManagePendingTransactionStatus
  • ManageRecurringPaymentsProfileStatus
  • MassPay
  • RefundTransaction
  • SetAccessPermissions
  • SetExpressCheckout
  • SetMobileCheckout
  • TransactionSearch
  • UpdateAccessPermissions
  • UpdateRecurringPaymentsProfile

PayPal Adaptive Payments

  • AddBankAccount
  • AddPaymentCard
  • CancelInvoice
  • CancelPermissions
  • CancelPreapproval
  • CreateAccount
  • CreateAndSendInvoice
  • CreateInvoice
  • ExecutePayment
  • GetAccessToken
  • GetAdvancedPersonalData
  • GetBasicPersonalData
  • GetFundingPlans
  • GetInvoiceDetails
  • GetPaymentOptions
  • GetPermissions
  • GetShippingAddress
  • GetVerifiedStatus
  • MarkInvoiceAsPaid
  • Pay
  • PaymentDetails
  • Preapproval
  • PreapprovalDetails
  • Refund
  • RequestPermissions
  • SearchInvoices
  • SendInvoice
  • SetFundingSourceConfirmed
  • SetPaymentOptions
  • UpdateInvoice
  • BMButtonSearch

PayPal PayFlow

  • Authorization
  • Balance Inquiry
  • Credit
  • Delayed Capture
  • Voice Authorization
  • Inquiry
  • Data Upload
  • Duplicate Transaction
  • Sale
  • Void
You need to log-in or create an account
  • Create an account
  • Log-in

Please use your real name.

Activation link will be sent to this address.

Minimum 8 characters

Enter your password again

Clicking this button confirms you read and agreed to the terms of use and privacy policy.


Save your watchlist

Fill your details below to receive project updates from your watch list - including new versions, price changes and discounts.

I agree to the terms of use and privacy policy.

License » GNU GPL Download
  • From what I have seen this seems to be a good library but there is major lack of support. For a beginner, it is very hard to integrate this library. It would be wise to do a full course, from the point of creating the paypal buy now button, to the point of the final step in the purchase, because many people do not understand how to implement and how to use this tools.
    VC Victor C
    2 years ago, 0 comments
    Was this helpful?
    Flag 3 of 3 people found this review helpful
  • Good
    VS Victor Sokolov
    1 year ago, 0 comments
    Was this helpful?
    Flag 0 of 1 people found this review helpful
  • Very nice tutorial for developers. I really enjoyed this tutorial
    M Meganathan
    5 months ago, 0 comments
    Was this helpful?
Post a comment

Or enter your name and Email
  • SD sheetal deshpande 2 months ago
    Hi, I am facing problem in payflow express checkout with session timeout. Has anyone know the steps and parameters for express checkout integration using payflow.
    • Andrew Angell Developer 2 months ago
      Is there any particular reason you want to integrate Express Checkout with PayFlow specifically? There's no requirement to do that. The regular EC API will work just fine even if you're on Payments Pro with PayPal Manager. If you do want to stick to PayFlow, you can do that with my class, but I just don't have templates setup quite as nicely for that as I do the regular EC API's. PayPal's Express Checkout for PayFlow documentation covers all the parameters in depth, though:
    • SD sheetal deshpande 2 months ago
      I have already using your class for normal EC, but now my client is using paypal pro 2.0 and support person told us that we need to use now payflo pro. When I tried to use normal EC the transaction goes in my sandbox and not in pyapal manager account. So I was trying to set up express checkout with payflow . By the way I have set up your payflow class with recurring billing as well using Credit card. Do you need it to upgrade your library?
    • Andrew Angell Developer 2 months ago
      The library can handle it all, I just don't have all the templates setup for PayFlow like I do the original PayPal API.
  • MA mahmoud ahmed amin 3 months ago
    it's great api but i have question :D I use the Adaptive_payments and my question is after redirect the user to paypal with invoice and define return success url how I can make sure that this customer who return paid the invoice ?? after he come back how to check that he is paid really all invoice ? thanks in advanced :)
    • Andrew Angell Developer 3 months ago
      The best way to do that with Adaptive Payments is to configure an Instant Payment Notification (IPN) script on your server. PayPal will POST transaction data to this IPN script in real-time so you can update your database, send out email notifications, etc. based on the transaction details. With adaptive payments this is the best place to see the official payment_status.
    • MA mahmoud ahmed amin 3 months ago
      ummmmm it seems good :D you are the best thanks ya brengy :D
    • MA mahmoud ahmed amin 2 months ago
      I need sandbox e-mail related to the default configuration to test because I don't have Active Account and i can't activate it for now I just need it to test the IBN service variables thanks in advanced
    • Andrew Angell Developer 2 months ago
      You can create new sandbox account at, and they can be used instantly. Not sure I understand the problem you're having..??
    • MA mahmoud ahmed amin 2 months ago
      actually I forget my password :D for the account :D
    • Andrew Angell Developer 2 months ago
      You can use the forgot password link on PayPal and get that handled pretty quickly.
  • V vijay 5 months ago
    [ErrorID] => 560022 [ExceptionID] => [Message] => The X-PAYPAL-APPLICATION-ID header contains an invalid value [Parameter] => X-PAYPAL-APPLICATION-ID [Severity] => Error how to remove these error
    • Andrew Angell Developer 5 months ago
      What are you passing as your App ID? If you're working with the sandbox there's a global App ID for testing that is included with the library, so I'm assuming you're getting this error when hitting the live endpoint..?? Did you apply for an App ID and fill that into the config file after you received it?