I am designing and building a website for a non-profit. They want a PayPal Donate button and I'd like to be able to show how much they've raised so far.
我正在为非盈利组织设计和建立一个网站。他们想要一个PayPal捐赠按钮,我希望能够显示他们到目前为止筹集的金额。
I am not familiar enough with the PayPal API to even get close. So all I need to know is how to get the total amount donated as an integer value so that I can divide that by the amount needed and get a percentage.
我对PayPal API的熟悉程度甚至不高。因此,我需要知道的是如何将捐赠的总金额作为整数值,以便我可以将其除以所需的金额并获得百分比。
Is anyone the least bit familiar with how to do this?
是否有人对如何做到这一点最熟悉?
2 个解决方案
#1
3
PayPal has a 'labs' (beta) widget for this. Have a look at https://giving.paypallabs.com/authenticate/review
PayPal有一个'labs'(beta)小部件。看看https://giving.paypallabs.com/authenticate/review
#2
0
Never played with paypal API, but they have code samples:
从未玩过paypal API,但他们有代码示例:
Paypal代码示例
this is their getBalance code sample:
这是他们的getBalance代码示例:
require_once 'PayPal.php';
require_once 'PayPal/Profile/Handler/Array.php';
require_once 'PayPal/Profile/API.php';
require_once 'PayPal/Type/GetBalanceRequestType.php';
require_once 'PayPal/Type/GetBalanceResponseType.php';
$environment = 'sandbox'; // or 'beta-sandbox' or 'live'
//--------------------------------------------------
// PROFILE
//--------------------------------------------------
/**
* W A R N I N G
* Do not embed plaintext credentials in your application code.
* Doing so is insecure and against best practices.
*
* Your API credentials must be handled securely. Please consider
* encrypting them for use in any production environment, and ensure
* hat only authorized individuals may view or modify them.
*/
$handler = & ProfileHandler_Array::getInstance(array(
'username' => 'my_api_username',
'certificateFile' => null,
'subject' => null,
'environment' => $environment));
$pid = ProfileHandler::generateID();
$profile = & new APIProfile($pid, $handler);
$profile->setAPIUsername('my_api_username');
$profile->setAPIPassword('my_api_password');
$profile->setSignature('my_api_signature');
$profile->setCertificateFile('my_cert_file_path');
$profile->setEnvironment($environment);
//--------------------------------------------------
$balance_request =& PayPal::getType('GetBalanceRequestType');
$balance_request->setVersion("51.0");
$caller =& PayPal::getCallerServices($profile);
// Execute SOAP request
$response = $caller->GetBalance($get_balance_request);
switch($response->getAck()) {
case 'Success':
case 'SuccessWithWarning':
// Extract the GetBalance response parameters
$balance = $response->getBalance();
$balance_amt = $balance->_value;
$balance_currency_id = $balance->getattr('currencyID');
$balance_time_stamp = $response->getBalanceTimeStamp();
$balance_holdings = $response->getBalanceHoldings();
$balance_holdings_amt = $balance_holdings->_value;
$balance_holdings_currency_id = $balance_holdings->getattr('currencyID');
exit('GetBalance Completed Successfully: ' . print_r($response, true));
default:
exit('GetBalance failed: ' . print_r($response, true));
}
?>
#1
3
PayPal has a 'labs' (beta) widget for this. Have a look at https://giving.paypallabs.com/authenticate/review
PayPal有一个'labs'(beta)小部件。看看https://giving.paypallabs.com/authenticate/review
#2
0
Never played with paypal API, but they have code samples:
从未玩过paypal API,但他们有代码示例:
Paypal代码示例
this is their getBalance code sample:
这是他们的getBalance代码示例:
require_once 'PayPal.php';
require_once 'PayPal/Profile/Handler/Array.php';
require_once 'PayPal/Profile/API.php';
require_once 'PayPal/Type/GetBalanceRequestType.php';
require_once 'PayPal/Type/GetBalanceResponseType.php';
$environment = 'sandbox'; // or 'beta-sandbox' or 'live'
//--------------------------------------------------
// PROFILE
//--------------------------------------------------
/**
* W A R N I N G
* Do not embed plaintext credentials in your application code.
* Doing so is insecure and against best practices.
*
* Your API credentials must be handled securely. Please consider
* encrypting them for use in any production environment, and ensure
* hat only authorized individuals may view or modify them.
*/
$handler = & ProfileHandler_Array::getInstance(array(
'username' => 'my_api_username',
'certificateFile' => null,
'subject' => null,
'environment' => $environment));
$pid = ProfileHandler::generateID();
$profile = & new APIProfile($pid, $handler);
$profile->setAPIUsername('my_api_username');
$profile->setAPIPassword('my_api_password');
$profile->setSignature('my_api_signature');
$profile->setCertificateFile('my_cert_file_path');
$profile->setEnvironment($environment);
//--------------------------------------------------
$balance_request =& PayPal::getType('GetBalanceRequestType');
$balance_request->setVersion("51.0");
$caller =& PayPal::getCallerServices($profile);
// Execute SOAP request
$response = $caller->GetBalance($get_balance_request);
switch($response->getAck()) {
case 'Success':
case 'SuccessWithWarning':
// Extract the GetBalance response parameters
$balance = $response->getBalance();
$balance_amt = $balance->_value;
$balance_currency_id = $balance->getattr('currencyID');
$balance_time_stamp = $response->getBalanceTimeStamp();
$balance_holdings = $response->getBalanceHoldings();
$balance_holdings_amt = $balance_holdings->_value;
$balance_holdings_currency_id = $balance_holdings->getattr('currencyID');
exit('GetBalance Completed Successfully: ' . print_r($response, true));
default:
exit('GetBalance failed: ' . print_r($response, true));
}
?>