這個外掛並未在最新的 3 個 WordPress 主要版本上進行測試。開發者可能不再對這個外掛進行維護或提供技術支援,並可能會與更新版本的 WordPress 產生使用上的相容性問題。

PayPal Framework

描述

This plugins gives you a great framework to use for integrating with PayPal.
It stores both live and sandbox API credentials and allows you to switch back
and forth easily. All NVP API calls are passed through the framework and
default values such as API version, API credentials, and even currency code are
added to the request based on settings from the admin panel.

It also has a built in IPN listener that validates messages as coming from
PayPal then throws WordPress actions based on messages received. For example it
throws “paypal-recurring_payment_profile_cancel” when someone cancels a
recurring payment that they had set up with you. It passes along all the info
that PayPal sent to the action, so it’s simple to create other plugins that use
this one.

Requires PHP5.

You may also be interested in WordPress tips and tricks at WordPress Informer or gerneral Web Developer News

安裝

  1. Use automatic installer.

常見問題

How do I send a request to PayPal?

To send a request to PayPal, simply build the request as an associative array and pass it to the hashCall helper function like this:

$ppParams = array(
    'METHOD'         => 'doDirectPayment',
    'PAYMENTACTION'  => 'Sale',
    'IPADDRESS'      => '123.123.123.123',
    'AMT'            => '222.22',
    'DESC'           => 'some product',
    'CREDITCARDTYPE' => 'VISA',
    'ACCT'           => '4111111111111111',
    'EXPDATE'        => '112011',
    'CVV2'           => '123',
    'FIRSTNAME'      => 'Aaron',
    'LASTNAME'       => 'Campbell',
    'EMAIL'          => 'pptest@xavisys.com',
    'STREET'         => '123 some pl',
    'STREET2'        => '',
    'CITY'           => 'San Diego',
    'STATE'          => 'CA',
    'ZIP'            => '92101',
    'COUNTRYCODE'    => 'US',
    'INVNUM'         => '12345',
);

$response = hashCall($ppParams);
How do I use the Listener to process PayPal messages?

First you have to tell PayPal to send message to the correct URL. Go to the
PayPal Framework settings page and click the “PayPal IPN Listener URL” link to
see instructions on how to use the URL that’s listed there. Once your PayPal
account has been set up the listener will automatically process all IPN messages
and turn them into WordPress actions that you can hook into. You can use the
‘paypal-ipn’ action to look at every message you ever get, or hook directly into
a ‘paypal-{transaction-type}’ hook to process a specific type of message:

add_action('paypal-ipn', 'my_process_ipn');
function my_process_ipn( $data ) {
    echo 'Processing IPN Message:<pre>';
    var_dump( $data );
    echo '</pre>';
}

add_action('paypal-recurring_payment_failed', 'my_process_ipn_recurring_payment_failed');
function my_process_ipn_recurring_payment_failed( $data ) {
    echo 'A recurring payment has failed. Here is the data I have to process this:<pre>';
    var_dump( $data );
    echo '</pre>';
}
Why do you set sslverify to false?

Many servers have out of date certificate lists, so this is necessary to be as
portable as possible. However, if your server is set up right you can force
sslverify like this:

add_filter( 'paypal_framework_sslverify', '__return_true' );

評價

There are no reviews for this plugin.

貢獻者及開發者

“PayPal Framework” 是一個開源的軟體。以下的人對這個外掛作出了貢獻。

貢獻者

將 PayPal Framework 外掛本地化為台灣繁體中文版。

對開發相關資訊感興趣?

任何人均可瀏覽程式碼、查看 SVN 存放庫,或透過 RSS 訂閱開發記錄

修改日誌

1.0.12

  • Add httpversion 1.1 to wp_remote_get(). Now required by PayPal Sandbox to support TLS 1.2. – props @cferdinandi

1.0.11

  • Don’t verify SSL on validation calls – too many people with out of date CAs

1.0.10

  • Replace instance of _() with __() – Props Ken Bass

1.0.9

  • Use admin-ajax for listener
  • Add sslverify filter – props @evansolomon

1.0.8

  • Fix missing quotes

1.0.7

  • Lots of code cleanup, some requiring WordPress 2.8+
  • Better help
  • Make translatable

1.0.6

  • Fixed a bug that throws a warning for certain requests when in debugging mode. Props Ken Bass kbass@kenbass.com

1.0.5

  • Fixed a bug introduced in 1.0.4 that affected certain debug messages when not using the sandbox

1.0.4

  • Debug E-Mails for live requests now get an obfuscated credit card number (ACCT) as well as EXPDATE and CVV2
  • The IPN listener only throws a transaction-specific action if a txt_type is given in the message

1.0.3

  • IPN Message validations now work even if there are apostophes (slashes are stripped)
  • You can now have multiple debug E-Mail addresses (comma separated)

1.0.2

  • Added a / to the IPN URL so that PayPal doesn’t complain that it’s invalid
  • Fixed a couple debug messages to send the proper URL used
  • Added a more general “paypal-ipn” action that can be used to catch and process all IPN message
  • Moved add_action calls inside the __construct

1.0.1

  • Added sendToExpressCheckout method for sending users to PayPal to finish up Express Checkout Payments
  • Changed hashCall to use the WordPress WP_Http class
  • Changed makeNVP to a public method
  • Updated makeNVP to use http_build_query
  • Switched to using wp_remote_post rather than specifying POST and using wp_remote_request

1.0.0

  • Original version released to wordpress.org repository