本文整理汇总了PHP中CRM_Core_Payment::doPayment方法的典型用法代码示例。如果您正苦于以下问题:PHP CRM_Core_Payment::doPayment方法的具体用法?PHP CRM_Core_Payment::doPayment怎么用?PHP CRM_Core_Payment::doPayment使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CRM_Core_Payment
的用法示例。
在下文中一共展示了CRM_Core_Payment::doPayment方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: doPayment
/**
* Process payment - this function wraps around both doTransferPayment and doDirectPayment.
*
* The function ensures an exception is thrown & moves some of this logic out of the form layer and makes the forms
* more agnostic.
*
* Payment processors should set payment_status_id. This function adds some historical defaults ie. the
* assumption that if a 'doDirectPayment' processors comes back it completed the transaction & in fact
* doTransferCheckout would not traditionally come back.
*
* doDirectPayment does not do an immediate payment for Authorize.net or Paypal so the default is assumed
* to be Pending.
*
* Once this function is fully rolled out then it will be preferred for processors to throw exceptions than to
* return Error objects
*
* @param array $params
*
* @param string $component
*
* @return array
* Result array
*
* @throws \Civi\Payment\Exception\PaymentProcessorException
*/
public function doPayment(&$params, $component = 'contribute')
{
if ($this->_paymentProcessor['payment_processor_type'] == 'PayPal_Express' || $this->_paymentProcessor['payment_processor_type'] == 'PayPal' && !empty($params['token'])) {
$this->_component = $component;
return $this->doExpressCheckout($params);
}
return parent::doPayment($params, $component);
}
示例2: doPayment
/**
* Process payment - this function wraps around both doTransferPayment and doDirectPayment.
*
* The function ensures an exception is thrown & moves some of this logic out of the form layer and makes the forms
* more agnostic.
*
* Payment processors should set payment_status_id. This function adds some historical defaults ie. the
* assumption that if a 'doDirectPayment' processors comes back it completed the transaction & in fact
* doTransferCheckout would not traditionally come back.
*
* doDirectPayment does not do an immediate payment for Authorize.net or Paypal so the default is assumed
* to be Pending.
*
* Once this function is fully rolled out then it will be preferred for processors to throw exceptions than to
* return Error objects
*
* @param array $params
*
* @param string $component
*
* @return array
* Result array
*
* @throws \Civi\Payment\Exception\PaymentProcessorException
*/
public function doPayment(&$params, $component = 'contribute')
{
if ($this->_paymentProcessor['payment_processor_type'] != 'PayPal_Express' && (!empty($params['credit_card_number']) && empty($params['token']))) {
return parent::doPayment($params, $component);
}
$this->_component = $component;
return $this->doExpressCheckout($params);
}