1: <?php
2:
3: /**
4: * Get information about a payment
5: * @see https://app.syspay.com/bundles/emiuser/doc/merchant_api.html#get-payment-information
6: */
7: class Syspay_Merchant_PaymentInfoRequest extends Syspay_Merchant_Request
8: {
9: const METHOD = 'GET';
10: const PATH = '/api/v1/merchant/payment/%d';
11:
12: /**
13: * @var integer
14: */
15: private $paymentId;
16:
17: public function __construct($paymentId = null)
18: {
19: if (null !== $paymentId) {
20: $this->setPaymentId($paymentId);
21: }
22: }
23:
24: /**
25: * {@inheritDoc}
26: */
27: public function getMethod()
28: {
29: return self::METHOD;
30: }
31:
32: /**
33: * {@inheritDoc}
34: */
35: public function getPath()
36: {
37: return sprintf(self::PATH, $this->paymentId);
38: }
39:
40: /**
41: * Gets the value of paymentId.
42: *
43: * @return integer
44: */
45: public function getPaymentId()
46: {
47: return $this->paymentId;
48: }
49:
50: /**
51: * Sets the value of paymentId.
52: *
53: * @param integer $paymentId the paymentId
54: *
55: * @return self
56: */
57: public function setPaymentId($paymentId)
58: {
59: $this->paymentId = $paymentId;
60:
61: return $this;
62: }
63:
64: /**
65: * {@inheritDoc}
66: */
67: public function buildResponse(stdClass $response)
68: {
69: if (!isset($response->payment)) {
70: throw new Syspay_Merchant_UnexpectedResponseException(
71: 'Unable to retrieve "payment" data from response',
72: $response
73: );
74: }
75:
76: $payment = Syspay_Merchant_Entity_Payment::buildFromResponse($response->payment);
77:
78: if (isset($response->redirect) && !empty($response->redirect)) {
79: $payment->setRedirect($response->redirect);
80: }
81:
82: return $payment;
83: }
84: }
85: