--- a/commerce_userpoints/commerce_userpoints_payment_method/commerce_userpoints_payment_method.module (date 1484824106000) +++ b/commerce_userpoints/commerce_userpoints_payment_method/commerce_userpoints_payment_method.module (revision ) @@ -10,6 +10,12 @@ 'short_title' => t('!Points', userpoints_translation()), 'description' => t('Pay with !Points', userpoints_translation()), 'active' => TRUE, + 'offsite' => TRUE, + 'offsite_autoredirect' => TRUE, + 'callbacks' => array( + 'redirect_form' => 'commerce_userpoints_payment_method_redirect_form', + 'redirect_form_submit' => 'commerce_userpoints_payment_method_redirect_form_submit', + ), 'settings' => array( 'min_points' => 0, 'userpoint_currency' => NULL, @@ -31,8 +37,21 @@ */ function commerce_userpoints_payment_method_submit_form_submit($payment_method, $pane_form, $pane_values, $order, $charge) { $order->data['commerce_userpoints'] = $pane_values; + $order->data['commerce_userpoints']['charge'] = $charge; $name = isset($pane_values['name']) ? $pane_values['name'] : ''; - commerce_userpoints_payment_method_transaction($payment_method, $order, $charge, $name); +// commerce_userpoints_payment_method_transaction($payment_method, $order, $charge, $name); +} + +function commerce_userpoints_payment_method_redirect_form ($form, &$form_state, $order, $payment_method) { + $form['#action'] = url('checkout/' . $order->order_id . '/payment/return/' . $order->data['payment_redirect_key']); + $form['submit'] = array('#type' => 'submit', '#value' => t('Confirm payment')); + return $form; +} + +function commerce_userpoints_payment_method_redirect_form_submit($order, $payment_method) { + $pane_values = $order->data['commerce_userpoints']; + $name = isset($pane_values['name']) ? $pane_values['name'] : ''; + commerce_userpoints_payment_method_transaction($payment_method, $order, $pane_values['charge'], $name); } /**