/** * 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); }
/** * 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); } } }