public static function PayPalPaymentIPNController::process in PayPal for Payment 7
Processes an IPN.
Parameters
array $ipn_variables:
Return value
\PaymentStatusItem The new payment status item.
3 calls to PayPalPaymentIPNController::process()
- PayPalPaymentIPNControllerTest::testProcess in paypal_payment_ipn/tests/ PayPalPaymentIPNControllerTest.test 
- Test process().
- paypal_payment_ipn_post in paypal_payment_ipn/paypal_payment_ipn.module 
- Processes an IPN request based on POST data.
- paypal_payment_pps_return in paypal_payment_pps/paypal_payment_pps.module 
- Return callback.
File
- paypal_payment_ipn/includes/ PayPalPaymentIPNController.inc, line 165 
Class
- PayPalPaymentIPNController
- Provides IPN functionality.
Code
public static function process(array $ipn_variables) {
  $pid = self::PID($ipn_variables['invoice']);
  $payment = entity_load_single('payment', $pid);
  if ($payment->method->controller instanceof PayPalPaymentIPNPaymentMethodControllerInterface) {
    $payment->method->controller
      ->PayPalProcessIPN($payment, $ipn_variables);
  }
  $new_status = new PaymentStatusItem(self::convertStatus($ipn_variables));
  $new_status->ipn = new PayPalPaymentIPN($ipn_variables);
  $payment
    ->setStatus($new_status);
  entity_save('payment', $payment);
  return $new_status;
}