/** * Update status of the specified payment * * @param Pronamic_Pay_Payment $payment */ public function update_status(Pronamic_Pay_Payment $payment) { $mollie_payment = $this->client->get_payment($payment->get_transaction_id()); if ($mollie_payment) { $payment->set_status(Pronamic_WP_Pay_Mollie_Statuses::transform($mollie_payment->status)); if (isset($mollie_payment->details)) { $details = $mollie_payment->details; if (isset($details->consumerName)) { $payment->set_consumer_name($details->consumerName); } if (isset($details->consumerAccount)) { $payment->set_consumer_iban($details->consumerAccount); } } } else { $this->error = $this->client->get_error(); } }
/** * Update status of the specified payment * * @param Pronamic_Pay_Payment $payment */ public function update_status(Pronamic_Pay_Payment $payment) { $mollie_payment = $this->client->get_payment($payment->get_transaction_id()); if (!$mollie_payment) { $this->error = $this->client->get_error(); return; } $status = Pronamic_WP_Pay_Mollie_Statuses::transform($mollie_payment->status); $payment->set_status($status); $subscription = $payment->get_subscription(); if ($subscription && '' === $subscription->get_transaction_id()) { // First payment or non-subscription recurring payment, // use payment status for subscription too. $subscription->set_status($status); } if (isset($mollie_payment->details)) { $details = $mollie_payment->details; if (isset($details->consumerName)) { $payment->set_consumer_name($details->consumerName); } if (isset($details->consumerAccount)) { $payment->set_consumer_iban($details->consumerAccount); } } }
/** * @dataProvider status_matrix_provider */ public function test_transform($mollie_status, $expected) { $status = Pronamic_WP_Pay_Mollie_Statuses::transform($mollie_status); $this->assertEquals($expected, $status); }