Test Failed
Push — develop ( 983888...05205d )
by Reüel
02:39
created

src/XML/TransactionRequestMessage.php (1 issue)

Labels
Severity
1
<?php
2
3
namespace Pronamic\WordPress\Pay\Gateways\IDealAdvancedV3\XML;
4
5
use Pronamic\WordPress\Pay\Gateways\IDealAdvancedV3\IDeal;
6
use Pronamic\WordPress\Pay\Gateways\IDealAdvancedV3\Issuer;
7
use Pronamic\WordPress\Pay\Gateways\IDealAdvancedV3\Transaction;
8
9
/**
10
 * Title: iDEAL transaction request XML message
11
 * Description:
12
 * Copyright: 2005-2019 Pronamic
13
 * Company: Pronamic
14
 *
15
 * @author  Remco Tolsma
16
 * @version 2.0.1
17
 */
18
class TransactionRequestMessage extends RequestMessage {
19
	/**
20
	 * The document element name
21
	 *
22
	 * @var string
23
	 */
24
	const NAME = 'AcquirerTrxReq';
25
26
	/**
27
	 * Issuer
28
	 *
29
	 * @var Issuer
30
	 */
31
	public $issuer;
32
33
	/**
34
	 * Transaction
35
	 *
36
	 * @var Transaction
37
	 */
38
	public $transaction;
39
40
	/**
41
	 * Constructs and initializes an transaction request message
42
	 */
43
	public function __construct() {
44
		parent::__construct( self::NAME );
45
	}
46
47
	/**
48
	 * Get document
49
	 *
50
	 * @see RequestMessage::get_document()
51
	 */
52
	public function get_document() {
53
		$document = parent::get_document();
54
55
		// Issuer
56
		$issuer = $this->issuer;
57
58
		$element = self::add_element( $document, $document->documentElement, 'Issuer' );
59
		self::add_element( $document, $element, 'issuerID', $issuer->get_id() );
60
61
		// Merchant
62
		$merchant = $this->get_merchant();
63
64
		$element = self::add_element( $document, $document->documentElement, 'Merchant' );
65
		self::add_elements( $document, $element, array(
66
			'merchantID'        => $merchant->get_id(),
67
			'subID'             => $merchant->get_sub_id(),
68
			'merchantReturnURL' => $merchant->get_return_url(),
69
		) );
70
71
		// Transaction
72
		$transaction = $this->transaction;
73
74
		$element = self::add_element( $document, $document->documentElement, 'Transaction' );
75
		self::add_elements( $document, $element, array(
76
			'purchaseID'       => $transaction->get_purchase_id(),
77
			'amount'           => IDeal::format_amount( $transaction->get_amount() ),
0 ignored issues
show
$transaction->get_amount() of type string is incompatible with the type double expected by parameter $amount of Pronamic\WordPress\Pay\G...\IDeal::format_amount(). ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

77
			'amount'           => IDeal::format_amount( /** @scrutinizer ignore-type */ $transaction->get_amount() ),
Loading history...
78
			'currency'         => $transaction->get_currency(),
79
			'expirationPeriod' => $transaction->get_expiration_period(),
80
			'language'         => $transaction->get_language(),
81
			'description'      => $transaction->get_description(),
82
			'entranceCode'     => $transaction->get_entrance_code(),
83
		) );
84
85
		// Return
86
		return $document;
87
	}
88
}
89