Example #1
0
 /**
  * Start an transaction with the specified data
  *
  * @see Pronamic_WP_Pay_Gateway::start()
  */
 public function start(Pronamic_Pay_Payment $payment)
 {
     $payment->set_action_url($this->client->get_payment_server_url());
     // Purchase ID
     $purchase_id = $payment->format_string($this->config->purchase_id);
     $payment->set_meta('purchase_id', $purchase_id);
     // General
     $this->client->set_language($payment->get_language());
     $this->client->set_currency($payment->get_currency());
     $this->client->set_purchase_id($purchase_id);
     $this->client->set_description($payment->get_description());
     // Items
     $items = new Pronamic_WP_Pay_Gateways_IDealBasic_Items();
     $items->add_item(new Pronamic_WP_Pay_Gateways_IDealBasic_Item(1, $payment->get_description(), 1, $payment->get_amount()));
     $this->client->set_items($items);
     // URLs
     $this->client->set_cancel_url(add_query_arg('status', Pronamic_WP_Pay_Gateways_IDeal_Statuses::CANCELLED, $payment->get_return_url()));
     $this->client->set_success_url(add_query_arg('status', Pronamic_WP_Pay_Gateways_IDeal_Statuses::SUCCESS, $payment->get_return_url()));
     $this->client->set_error_url(add_query_arg('status', Pronamic_WP_Pay_Gateways_IDeal_Statuses::FAILURE, $payment->get_return_url()));
 }
Example #2
0
 /**
  * Start an transaction with the specified data
  *
  * @see Pronamic_WP_Pay_Gateway::start()
  */
 public function start(Pronamic_Pay_PaymentDataInterface $data, Pronamic_Pay_Payment $payment, $payment_method = null)
 {
     $payment->set_action_url($this->client->get_payment_server_url());
     // Purchase ID
     $purchase_id = Pronamic_WP_Pay_Gateways_IDeal_Util::get_purchase_id($this->config->purchase_id, $data, $payment);
     $payment->set_meta('purchase_id', $purchase_id);
     // General
     $this->client->set_language($data->get_language());
     $this->client->set_currency($data->get_currency());
     $this->client->set_purchase_id($purchase_id);
     $this->client->set_description($data->get_description());
     // Items
     $items = new Pronamic_WP_Pay_Gateways_IDealBasic_Items();
     foreach ($data->get_items() as $item) {
         $items->add_item(new Pronamic_WP_Pay_Gateways_IDealBasic_Item($item->getNumber(), $item->get_description(), $item->getQuantity(), $item->getPrice()));
     }
     $this->client->set_items($items);
     // URLs
     $url = add_query_arg('payment', $payment->get_id(), home_url('/'));
     $this->client->set_cancel_url(add_query_arg('status', Pronamic_WP_Pay_Gateways_IDeal_Statuses::CANCELLED, $url));
     $this->client->set_success_url(add_query_arg('status', Pronamic_WP_Pay_Gateways_IDeal_Statuses::SUCCESS, $url));
     $this->client->set_error_url(add_query_arg('status', Pronamic_WP_Pay_Gateways_IDeal_Statuses::FAILURE, $url));
 }