static private $_singleton = NULL;
/**
- * mode of operation: live or test
+ * Mode of operation: live or test
*
* @var object
*/
protected $_mode = NULL;
/**
- * @param $name
+ * @param string $name
* @param $type
* @param $object
* @param bool $abort
*
* @return mixed
*/
- static function retrieve($name, $type, $object, $abort = TRUE) {
+ public static function retrieve($name, $type, $object, $abort = TRUE) {
$value = CRM_Utils_Array::value($name, $object);
if ($abort && $value === NULL) {
CRM_Core_Error::debug_log_message("Could not find an entry for $name");
/**
* Constructor
*
- * @param string $mode the mode of operation: live or test
+ * @param string $mode
+ * The mode of operation: live or test.
*
* @param $paymentProcessor
*
* @return \CRM_Core_Payment_GoogleIPN
*/
- function __construct($mode, &$paymentProcessor) {
+ public function __construct($mode, &$paymentProcessor) {
parent::__construct();
$this->_mode = $mode;
/**
* The function gets called when a new order takes place.
*
- * @param xml $dataRoot response send by google in xml format
- * @param array $privateData contains the name value pair of <merchant-private-data>
+ * @param xml $dataRoot
+ * Response send by google in xml format.
+ * @param array $privateData
+ * Contains the name value pair of <merchant-private-data>.
*
* @param $component
*
* @return void
*/
- function newOrderNotify($dataRoot, $privateData, $component) {
+ public function newOrderNotify($dataRoot, $privateData, $component) {
$ids = $input = $params = array();
$input['component'] = strtolower($component);
/**
* The function gets called when the state(CHARGED, CANCELLED..) changes for an order
*
- * @param string $status status of the transaction send by google
+ * @param string $status
+ * Status of the transaction send by google.
* @param $dataRoot
- * @param array $privateData contains the name value pair of <merchant-private-data>
+ * @param array $privateData
+ * Contains the name value pair of <merchant-private-data>.
*
* @param $component
*
* @return void
*/
- function orderStateChange($status, $dataRoot, $privateData, $component) {
+ public function orderStateChange($status, $dataRoot, $privateData, $component) {
$input = $objects = $ids = array();
$input['component'] = strtolower($component);
$ids['related_contact'] = NULL;
$ids['onbehalf_dupe_alert'] = NULL;
if ($contribution->trxn_id) {
- list($ids['membership'], $ids['related_contact'], $ids['onbehalf_dupe_alert']) = explode(CRM_Core_DAO::VALUE_SEPARATOR,
+ list($ids['membership'], $ids['related_contact'], $ids['onbehalf_dupe_alert']) = explode(CRM_Core_DAO::VALUE_SEPARATOR,
$contribution->trxn_id
- );
+ );
}
foreach (array(
'membership', 'related_contact', 'onbehalf_dupe_alert') as $fld) {
* @param $ids
* @param $objects
*/
- function completeRecur($input, $ids, $objects) {
+ public function completeRecur($input, $ids, $objects) {
if ($ids['contributionRecur']) {
$recur = &$objects['contributionRecur'];
$contributionCount = CRM_Core_DAO::singleValueQuery("
}
/**
- * singleton function used to manage this object
+ * Singleton function used to manage this object
*
- * @param string $mode the mode of operation: live or test
+ * @param string $mode
+ * The mode of operation: live or test.
*
* @param $component
* @param $paymentProcessor
* @return object
* @static
*/
- static function &singleton($mode, $component, &$paymentProcessor) {
+ public static function &singleton($mode, $component, &$paymentProcessor) {
if (self::$_singleton === NULL) {
self::$_singleton = new CRM_Core_Payment_GoogleIPN($mode, $paymentProcessor);
}
/**
* The function retrieves the amount the contribution is for, based on the order-no google sends
*
- * @param int $orderNo <order-total> send by google
+ * @param int $orderNo
+ * <order-total> send by google.
*
* @return amount
- * @access public
*/
- function getAmount($orderNo) {
+ public function getAmount($orderNo) {
$contribution = new CRM_Contribute_DAO_Contribution();
$contribution->invoice_id = $orderNo;
if (!$contribution->find(TRUE)) {
/**
* The function returns the component(Event/Contribute..), given the google-order-no and merchant-private-data
*
- * @param array $privateData contains the name value pair of <merchant-private-data>
- * @param int $orderNo <order-total> send by google
- * @param string $root root of xml-response
+ * @param array $privateData
+ * Contains the name value pair of <merchant-private-data>.
+ * @param int $orderNo
+ * <order-total> send by google.
+ * @param string $root
+ * Root of xml-response.
*
* @param $response
* @param $serial
* @return array context of this call (test, module, payment processor id)
* @static
*/
- function getContext($privateData, $orderNo, $root, $response, $serial) {
+ public function getContext($privateData, $orderNo, $root, $response, $serial) {
$contributionID = CRM_Utils_Array::value('contributionID', $privateData);
$contribution = new CRM_Contribute_DAO_Contribution();
if ($root == 'new-order-notification') {
* a notification or request is sent by the Google Server.
*
*/
- static function main($xml_response) {
+ public static function main($xml_response) {
require_once 'Google/library/googleresponse.php';
require_once 'Google/library/googlerequest.php';
require_once 'Google/library/googlemerchantcalculations.php';
// lets retrieve the private-data & order-no
$privateData = NULL;
if (array_key_exists('shopping-cart', $data[$root])) {
- $privateData = $data[$root]['shopping-cart']['merchant-private-data']['VALUE'];
+ $privateData = $data[$root]['shopping-cart']['merchant-private-data']['VALUE'];
}
if (empty($privateData) && array_key_exists('order-summary', $data[$root])
&& array_key_exists('shopping-cart', $data[$root]['order-summary'])) {
case "merchant-calculation-callback":
break;
- case "new-order-notification": {
- $response->SendAck($serial, FALSE);
- $ipn->newOrderNotify($data[$root], $privateData, $module);
- break;
+ case "new-order-notification":{
+ $response->SendAck($serial, FALSE);
+ $ipn->newOrderNotify($data[$root], $privateData, $module);
+ break;
}
- case "order-state-change-notification": {
- $response->SendAck($serial, FALSE);
- $new_financial_state = $data[$root]['new-financial-order-state']['VALUE'];
- $new_fulfillment_order = $data[$root]['new-fulfillment-order-state']['VALUE'];
+ case "order-state-change-notification":{
+ $response->SendAck($serial, FALSE);
+ $new_financial_state = $data[$root]['new-financial-order-state']['VALUE'];
+ $new_fulfillment_order = $data[$root]['new-fulfillment-order-state']['VALUE'];
- switch ($new_financial_state) {
- case 'CHARGEABLE':
- break;
+ switch ($new_financial_state) {
+ case 'CHARGEABLE':
+ break;
- case 'CHARGED':
- case 'PAYMENT_DECLINED':
- case 'CANCELLED':
- case 'CANCELLED_BY_GOOGLE':
- $ipn->orderStateChange($new_financial_state, $data[$root], $privateData, $module);
- break;
+ case 'CHARGED':
+ case 'PAYMENT_DECLINED':
+ case 'CANCELLED':
+ case 'CANCELLED_BY_GOOGLE':
+ $ipn->orderStateChange($new_financial_state, $data[$root], $privateData, $module);
+ break;
- case 'REVIEWING':
- case 'CHARGING':
- break;
+ case 'REVIEWING':
+ case 'CHARGING':
+ break;
- default:
- break;
- }
- break;
+ default:
+ break;
+ }
+ break;
}
- case "authorization-amount-notification": {
- $response->SendAck($serial, FALSE);
- $new_financial_state = $data[$root]['order-summary']['financial-order-state']['VALUE'];
- $new_fulfillment_order = $data[$root]['order-summary']['fulfillment-order-state']['VALUE'];
-
- switch ($new_financial_state) {
- case 'CHARGEABLE':
- // For google-handled subscriptions chargeorder needn't be initiated,
- // assuming auto-charging is turned on.
- //$request->SendProcessOrder($data[$root]['google-order-number']['VALUE']);
- //$request->SendChargeOrder($data[$root]['google-order-number']['VALUE'],'');
- break;
-
- case 'CHARGED':
- case 'PAYMENT_DECLINED':
- case 'CANCELLED':
- break;
-
- case 'REVIEWING':
- case 'CHARGING':
- case 'CANCELLED_BY_GOOGLE':
- break;
-
- default:
- break;
- }
- break;
+ case "authorization-amount-notification":{
+ $response->SendAck($serial, FALSE);
+ $new_financial_state = $data[$root]['order-summary']['financial-order-state']['VALUE'];
+ $new_fulfillment_order = $data[$root]['order-summary']['fulfillment-order-state']['VALUE'];
+
+ switch ($new_financial_state) {
+ case 'CHARGEABLE':
+ // For google-handled subscriptions chargeorder needn't be initiated,
+ // assuming auto-charging is turned on.
+ //$request->SendProcessOrder($data[$root]['google-order-number']['VALUE']);
+ //$request->SendChargeOrder($data[$root]['google-order-number']['VALUE'],'');
+ break;
+
+ case 'CHARGED':
+ case 'PAYMENT_DECLINED':
+ case 'CANCELLED':
+ break;
+
+ case 'REVIEWING':
+ case 'CHARGING':
+ case 'CANCELLED_BY_GOOGLE':
+ break;
+
+ default:
+ break;
+ }
+ break;
}
case "charge-amount-notification":
*
* @return bool
*/
- function getInput(&$input, &$ids, $dataRoot) {
+ public function getInput(&$input, &$ids, $dataRoot) {
if (!$this->getBillingID($ids)) {
return FALSE;
}
foreach ($lookup as $name => $googleName) {
if (array_key_exists($googleName, $dataRoot['buyer-billing-address'])) {
- $value = $dataRoot['buyer-billing-address'][$googleName]['VALUE'];
+ $value = $dataRoot['buyer-billing-address'][$googleName]['VALUE'];
}
$input[$name] = $value ? $value : NULL;
}
* Converts the comma separated name-value pairs in <merchant-private-data>
* to an array of name-value pairs.
*/
- static function stringToArray($str) {
+ public static function stringToArray($str) {
$vars = $labels = array();
$labels = explode(',', $str);
foreach ($labels as $label) {
return $vars;
}
}
-