Index: trunk/extensions/DonationInterface/payflowpro_gateway/payflowpro.adapter.php |
— | — | @@ -235,7 +235,9 @@ |
236 | 236 | */ |
237 | 237 | function processResponse( $response ) { |
238 | 238 | //set the transaction result message |
239 | | - $this->setTransactionResult( $response['RESPMSG'], 'txn_message' ); |
| 239 | + if ( isset( $response['RESPMSG'] ) ){ |
| 240 | + $this->setTransactionResult( $response['RESPMSG'], 'txn_message' ); |
| 241 | + } |
240 | 242 | if ( isset( $response['PNREF'] ) ){ |
241 | 243 | $this->setTransactionResult( $response['PNREF'], 'gateway_txn_id' ); |
242 | 244 | } |
Index: trunk/extensions/DonationInterface/globalcollect_gateway/globalcollect.adapter.php |
— | — | @@ -799,6 +799,8 @@ |
800 | 800 | |
801 | 801 | if ( !$cancelflag && !$problemflag ) { |
802 | 802 | $order_status_results = $this->getTransactionWMFStatus(); |
| 803 | + $txn_data = $this->getTransactionData(); |
| 804 | + $original_status_code = isset( $txn_data['STATUSID']) ? $txn_data['STATUSID'] : 'NOT SET'; |
803 | 805 | if (!$order_status_results){ |
804 | 806 | $problemflag = true; |
805 | 807 | $problemmessage = "We don't have a Transaction WMF Status after doing a GET_ORDERSTATUS."; |
— | — | @@ -834,7 +836,9 @@ |
835 | 837 | if ( !$cancelflag ){ |
836 | 838 | $final = $this->do_transaction( 'SET_PAYMENT' ); |
837 | 839 | if ( isset( $final['status'] ) && $final['status'] === true ) { |
838 | | - $this->setTransactionWMFStatus( $order_status_results ); //this had damn well better exist if we got this far. |
| 840 | + $this->setTransactionWMFStatus( $order_status_results ); |
| 841 | + //get the old status from the first txn, and add in the part where we set the payment. |
| 842 | + $this->setTransactionResult( "Original Response Status (pre-SET_PAYMENT): " . $original_status_code, 'txn_message' ); |
839 | 843 | $this->runPostProcessHooks(); //stomp is in here |
840 | 844 | $this->unsetAllSessionData(); |
841 | 845 | } else { |
— | — | @@ -844,7 +848,7 @@ |
845 | 849 | } else { |
846 | 850 | $final = $this->do_transaction( 'CANCEL_PAYMENT' ); |
847 | 851 | if ( isset( $final['status'] ) && $final['status'] === true ) { |
848 | | - $this->setTransactionWMFStatus( 'failed' ); |
| 852 | + $this->setTransactionWMFStatus( $order_status_results ); |
849 | 853 | $this->unsetAllSessionData(); |
850 | 854 | } else { |
851 | 855 | $problemflag = true; |
Index: trunk/extensions/DonationInterface/gateway_common/gateway.adapter.php |
— | — | @@ -832,7 +832,6 @@ |
833 | 833 | $pulled_data = $this->getResponseData( $formatted ); |
834 | 834 | $this->setTransactionResult( $pulled_data, 'data' ); |
835 | 835 | |
836 | | - //TODO: Death to the pulled_data parameter! |
837 | 836 | $this->processResponse( $pulled_data ); //now we've set all the transaction results... |
838 | 837 | |
839 | 838 | //well, almost all. |