Implement B::OP failure_status for declines
authorMitch Jackson <mitch@freeside.biz>
Tue, 23 Apr 2019 02:41:28 +0000 (22:41 -0400)
committerMitch Jackson <mitch@freeside.biz>
Tue, 23 Apr 2019 02:41:28 +0000 (22:41 -0400)
lib/Business/OnlinePayment/Bambora.pm

index ea1a698..d872f2c 100755 (executable)
@@ -42,6 +42,7 @@ sub set_defaults {
     card_token
     expiry_month
     expiry_year
+    failure_status
     invoice_number
     message_id
     payment_method
@@ -455,6 +456,10 @@ sub submit_api_request {
     $self->is_success( 0 );
     $self->result_code( $response->{code} );
 
+    if ( $response->{message} =~ /decline/i ) {
+      $self->failure_status('declined');
+    }
+
     return $self->error_message(
       sprintf '%s %s',
         $response->{code},