/** * Start * * @param Pronamic_Pay_PaymentDataInterface $data * @see Pronamic_WP_Pay_Gateway::start() */ public function start(Pronamic_Pay_PaymentDataInterface $data, Pronamic_Pay_Payment $payment, $payment_method = null) { $result = $this->client->transaction_start($data->get_amount(), Pronamic_WP_Pay_Gateways_PayNL_Util::get_ip_address(), add_query_arg('payment', $payment->get_id(), home_url('/'))); if (isset($result, $result->transaction)) { $transaction_id = $result->transaction->transactionId; $payment_url = $result->transaction->paymentURL; $payment->set_transaction_id($transaction_id); $payment->set_action_url($payment_url); } else { $this->error = $this->client->get_error(); } }
/** * Start * * @param Pronamic_Pay_PaymentDataInterface $data * @see Pronamic_WP_Pay_Gateway::start() */ public function start(Pronamic_Pay_Payment $payment) { $request = array('enduser' => array('lastName' => $payment->get_customer_name(), 'emailAddress' => $payment->get_email())); switch ($payment->get_method()) { case Pronamic_WP_Pay_PaymentMethods::BANCONTACT: case Pronamic_WP_Pay_PaymentMethods::MISTER_CASH: $request['paymentOptionId'] = Pronamic_WP_Pay_Gateways_PayNL_PaymentMethods::MISTERCASH; break; case Pronamic_WP_Pay_PaymentMethods::IDEAL: $request['paymentOptionId'] = Pronamic_WP_Pay_Gateways_PayNL_PaymentMethods::IDEAL; $request['paymentOptionSubId'] = $payment->get_issuer(); break; } $result = $this->client->transaction_start($payment->get_amount(), Pronamic_WP_Pay_Gateways_PayNL_Util::get_ip_address(), rawurlencode($payment->get_return_url()), $request); if (!$result) { $this->error = $this->client->get_error(); return; } $payment->set_transaction_id($result->transaction->transactionId); $payment->set_action_url($result->transaction->paymentURL); }