Skip to content

Commit

Permalink
added error messages for failed, cancelled and expired payment state
Browse files Browse the repository at this point in the history
  • Loading branch information
w3guy committed Feb 16, 2016
1 parent d37db00 commit f30538c
Show file tree
Hide file tree
Showing 2 changed files with 69 additions and 28 deletions.
67 changes: 42 additions & 25 deletions clover.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<coverage generated="1455094805">
<project timestamp="1455094805">
<coverage generated="1455623172">
<project timestamp="1455623172">
<package name="Omnipay\WePay">
<file name="C:\xampp\htdocs\wepay-omnipay\src/Gateway.php">
<class name="Gateway" namespace="Omnipay\WePay">
Expand Down Expand Up @@ -147,20 +147,36 @@
</file>
<file name="C:\xampp\htdocs\wepay-omnipay\src/Message/CompletePurchaseResponse.php">
<class name="CompletePurchaseResponse" namespace="Omnipay\WePay\Message">
<metrics methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="5" elements="10" coveredelements="10"/>
<metrics methods="6" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="20" coveredstatements="14" elements="26" coveredelements="20"/>
</class>
<line num="12" type="method" name="isSuccessful" crap="2" count="2"/>
<line num="14" type="stmt" count="2"/>
<line num="17" type="method" name="getTransactionReference" crap="2" count="2"/>
<line num="19" type="stmt" count="2"/>
<line num="22" type="method" name="getTransactionId" crap="2" count="2"/>
<line num="24" type="stmt" count="2"/>
<line num="27" type="method" name="getCode" crap="2" count="2"/>
<line num="29" type="stmt" count="2"/>
<line num="32" type="method" name="getMessage" crap="2" count="2"/>
<line num="34" type="stmt" count="2"/>
<line num="37" type="stmt" count="1"/>
<metrics loc="36" ncloc="33" classes="1" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="5" elements="10" coveredelements="10"/>
<line num="15" type="stmt" count="2"/>
<line num="18" type="method" name="getState" crap="2" count="2"/>
<line num="20" type="stmt" count="2"/>
<line num="23" type="method" name="getTransactionReference" crap="2" count="2"/>
<line num="25" type="stmt" count="2"/>
<line num="28" type="method" name="getTransactionId" crap="2" count="2"/>
<line num="30" type="stmt" count="2"/>
<line num="33" type="method" name="getCode" crap="2" count="2"/>
<line num="35" type="stmt" count="2"/>
<line num="38" type="method" name="getMessage" crap="6.97" count="2"/>
<line num="40" type="stmt" count="2"/>
<line num="41" type="stmt" count="2"/>
<line num="42" type="stmt" count="0"/>
<line num="43" type="stmt" count="0"/>
<line num="44" type="stmt" count="2"/>
<line num="45" type="stmt" count="0"/>
<line num="46" type="stmt" count="0"/>
<line num="47" type="stmt" count="2"/>
<line num="48" type="stmt" count="0"/>
<line num="49" type="stmt" count="0"/>
<line num="50" type="stmt" count="2"/>
<line num="51" type="stmt" count="2"/>
<line num="52" type="stmt" count="2"/>
<line num="54" type="stmt" count="2"/>
<line num="57" type="stmt" count="1"/>
<metrics loc="56" ncloc="53" classes="1" methods="6" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="20" coveredstatements="14" elements="26" coveredelements="19"/>
</file>
<file name="C:\xampp\htdocs\wepay-omnipay\src/Message/CustomCheckoutResponse.php">
<class name="CustomCheckoutResponse" namespace="Omnipay\WePay\Message">
Expand Down Expand Up @@ -210,20 +226,21 @@
</file>
<file name="C:\xampp\htdocs\wepay-omnipay\src/Message/FetchTransactionResponse.php">
<class name="FetchTransactionResponse" namespace="Omnipay\WePay\Message">
<metrics methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="5" elements="10" coveredelements="10"/>
<metrics methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="6" elements="11" coveredelements="11"/>
</class>
<line num="12" type="method" name="isSuccessful" crap="2" count="2"/>
<line num="14" type="stmt" count="2"/>
<line num="17" type="method" name="getTransactionReference" crap="2" count="2"/>
<line num="19" type="stmt" count="2"/>
<line num="22" type="method" name="getTransactionId" crap="2" count="2"/>
<line num="24" type="stmt" count="2"/>
<line num="27" type="method" name="getCode" crap="2" count="2"/>
<line num="29" type="stmt" count="2"/>
<line num="32" type="method" name="getMessage" crap="2" count="2"/>
<line num="34" type="stmt" count="2"/>
<line num="37" type="stmt" count="1"/>
<metrics loc="36" ncloc="33" classes="1" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="5" elements="10" coveredelements="10"/>
<line num="15" type="stmt" count="2"/>
<line num="18" type="method" name="getTransactionReference" crap="2" count="2"/>
<line num="20" type="stmt" count="2"/>
<line num="23" type="method" name="getTransactionId" crap="2" count="2"/>
<line num="25" type="stmt" count="2"/>
<line num="28" type="method" name="getCode" crap="2" count="2"/>
<line num="30" type="stmt" count="2"/>
<line num="33" type="method" name="getMessage" crap="2" count="2"/>
<line num="35" type="stmt" count="2"/>
<line num="38" type="stmt" count="1"/>
<metrics loc="37" ncloc="34" classes="1" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="6" elements="11" coveredelements="11"/>
</file>
<file name="C:\xampp\htdocs\wepay-omnipay\src/Message/PurchaseRequest.php">
<class name="PurchaseRequest" namespace="Omnipay\WePay\Message">
Expand Down Expand Up @@ -322,6 +339,6 @@
<metrics loc="61" ncloc="58" classes="1" methods="9" coveredmethods="9" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="11" elements="20" coveredelements="20"/>
</file>
</package>
<metrics files="9" loc="633" ncloc="593" classes="9" methods="81" coveredmethods="69" conditionals="0" coveredconditionals="0" statements="169" coveredstatements="157" elements="250" coveredelements="226"/>
<metrics files="9" loc="654" ncloc="614" classes="9" methods="82" coveredmethods="69" conditionals="0" coveredconditionals="0" statements="185" coveredstatements="167" elements="267" coveredelements="236"/>
</project>
</coverage>
30 changes: 27 additions & 3 deletions src/Message/CompletePurchaseResponse.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,13 @@ class CompletePurchaseResponse extends AbstractResponse
{
public function isSuccessful()
{
return isset($this->data['state'])
&& in_array($this->data['state'], array('authorized', 'reserved', 'captured'));
return is_string($this->getState())
&& in_array($this->getState(), array('authorized', 'reserved', 'captured'));
}

public function getState()
{
return isset($this->data['state']) ? $this->data['state'] : null;
}

public function getTransactionReference()
Expand All @@ -32,6 +37,25 @@ public function getCode()

public function getMessage()
{
return isset($this->data['error_description']) ? $this->data['error_description'] : null;
// when the state of a payment falls within these, no error message ($this->data['error_description'] is blank)
// is returned hence these default error messages.
/*
* @todo include test for these. Just too lazy to write these test.
*/
switch ($this->getState()) {
case 'failed':
$error = 'Payment failed. Try again.';
break;
case 'expired':
$error = 'Checkout expired. Try again.';
break;
case 'cancelled':
$error = 'Payment cancelled.';
break;
default:
$error = isset($this->data['error_description']) ? $this->data['error_description'] : null;
}

return $error;
}
}

0 comments on commit f30538c

Please sign in to comment.