/**
  * Test iDEAL start parameters.
  */
 public function test()
 {
     $parameters = new Pronamic_WP_Pay_Gateways_TargetPay_IDealStartParameters();
     $parameters->rtlo = '12345';
     $parameters->bank = 'test';
     $parameters->description = 'Description';
     $parameters->amount = 100.0;
     $parameters->return_url = 'http://example.com/';
     $parameters->report_url = 'http://example.com/';
     $parameters->cinfo_in_callback = true;
     $array = $parameters->get_array();
     $this->assertArrayHasKey('rtlo', $array);
     $this->assertArrayHasKey('bank', $array);
     $this->assertArrayHasKey('description', $array);
     $this->assertArrayHasKey('amount', $array);
     $this->assertArrayHasKey('returnurl', $array);
     $this->assertArrayHasKey('reporturl', $array);
     $this->assertArrayHasKey('cinfo_in_callback', $array);
 }
示例#2
0
 /**
  * Start transaction
  *
  * @param string $rtlo
  * @param string $bank
  * @param string $description
  * @param float $amount
  * @param string $returnurl
  * @param string $reporturl
  * @param string $cinfo_in_callback https://www.targetpay.com/info/directdebit-docu
  */
 public function start_transaction(Pronamic_WP_Pay_Gateways_TargetPay_IDealStartParameters $parameters)
 {
     $url = Pronamic_WP_Util::build_url(self::URL_START_TRANSACTION, $parameters->get_array());
     $data = self::remote_get($url);
     if (false !== $data) {
         $status = strtok($data, self::TOKEN);
         if (self::STATUS_OK === $status) {
             $result = new stdClass();
             $result->status = $status;
             $result->transaction_id = strtok(self::TOKEN);
             $result->url = strtok(self::TOKEN);
             return $result;
         } else {
             $code = $status;
             $description = substr($data, 7);
             $error = new Pronamic_WP_Pay_Gateways_TargetPay_Error($code, $description);
             $this->error = new WP_Error('targetpay_error', (string) $error, $error);
         }
     }
 }