Skip to content

Commit

Permalink
CIVIPLUS-983: Remove doTransferCheckout
Browse files Browse the repository at this point in the history
added pull request patch colemanw#420
  • Loading branch information
kuldip-compuco committed Oct 18, 2022
1 parent 1542c85 commit 4af5b7a
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 28 deletions.
49 changes: 23 additions & 26 deletions includes/wf_crm_webform_postprocess.inc
Expand Up @@ -1992,37 +1992,34 @@ class wf_crm_webform_postprocess extends wf_crm_webform_base {
$paymentProcessor->setCancelUrl($this->getIpnRedirectUrl('cancel'));
}

if (method_exists($paymentProcessor, 'doTransferCheckout')) {
//Paypal Express checkout
if(wf_crm_aval($_POST, 'credit_card_number') == 'express'){
try {
$params['button'] = 'express';
$params['component'] = 'contribute';
$result = $paymentProcessor->doPreApproval($params);
if (empty($result)) {
// This could happen, for example, when paypal looks at the button value & decides it is not paypal express.
return;
}
}
catch (\Civi\Payment\Exception\PaymentProcessorException $e) {
drupal_set_message(ts('Payment approval failed with message :') . $e->getMessage(),'error');
CRM_Utils_System::redirect($this->getIpnRedirectUrl('cancel'));
}
$preApprovalParams = $paymentProcessor->getPreApprovalDetails($result['pre_approval_parameters']);
$params = array_merge($params, $preApprovalParams);
if (!empty($result['redirect_url'])) {
CRM_Utils_System::redirect($result['redirect_url']);
//Paypal Express checkout
if (wf_crm_aval($_POST, 'credit_card_number') == 'express') {
try {
$params['button'] = 'express';
$params['component'] = 'contribute';
$result = $paymentProcessor->doPreApproval($params);
if (empty($result)) {
// This could happen, for example, when paypal looks at the button value & decides it is not paypal express.
return;
}
}
// doTransferCheckout is deprecated but some processors might still implement it.
// Somewhere around 4.6 it was replaced by doPayment as the method of choice,
// but to be safe still call it if it exists for now.
$paymentProcessor->doTransferCheckout($params, 'contribute');
catch (\Civi\Payment\Exception\PaymentProcessorException $e) {
drupal_set_message(ts('Payment approval failed with message: ') . $e->getMessage(),'error');
CRM_Utils_System::redirect($this->getIpnRedirectUrl('cancel'));
}
$preApprovalParams = $paymentProcessor->getPreApprovalDetails($result['pre_approval_parameters']);
$params = array_merge($params, $preApprovalParams);
if (!empty($result['redirect_url'])) {
CRM_Utils_System::redirect($result['redirect_url']);
}
}
else {
try {
$paymentProcessor->doPayment($params);
}

catch (\Civi\Payment\Exception\PaymentProcessorException $e) {
drupal_set_message(ts('Payment approval failed with message: ') . $e->getMessage(),'error');
CRM_Utils_System::redirect($this->getIpnRedirectUrl('cancel'));
}
}

/**
Expand Down
4 changes: 2 additions & 2 deletions webform_civicrm.info
Expand Up @@ -2,9 +2,9 @@ name = Webform CiviCRM Integration
description = A powerful, flexible, user-friendly form builder for CiviCRM.
core = 7.x
package = CiviCRM
version = 7.x-5.4-patch2
version = 7.x-5.4-patch3
php = 7.0
dependencies[] = civicrm (>=5.12)
dependencies[] = webform (>=4.19)
dependencies[] = options_element
; patch 2
; patch 3

0 comments on commit 4af5b7a

Please sign in to comment.