| @@ 213-230 (lines=18) @@ | ||
| 210 | * @param $amount_to_charge float The amount to charge. |
|
| 211 | * @param $renewal_order WC_Order A WC_Order object created to record the renewal payment. |
|
| 212 | */ |
|
| 213 | public function scheduled_subscription_payment( $amount_to_charge, $renewal_order ) { |
|
| 214 | $response = $this->process_subscription_payment( $amount_to_charge, $renewal_order ); |
|
| 215 | ||
| 216 | if ( is_wp_error( $response ) ) { |
|
| 217 | /* translators: error message */ |
|
| 218 | $renewal_order->update_status( 'failed', sprintf( __( 'Stripe Transaction Failed (%s)', 'woocommerce-gateway-stripe' ), $response->get_error_message() ) ); |
|
| 219 | } |
|
| 220 | ||
| 221 | if ( ! empty( $response->error ) ) { |
|
| 222 | // This is a very generic error to listen for but worth a retry before total fail. |
|
| 223 | if ( isset( $response->error->type ) && 'invalid_request_error' === $response->error->type && apply_filters( 'wc_stripe_use_default_customer_source', true ) ) { |
|
| 224 | $this->process_subscription_payment( $amount_to_charge, $renewal_order, true ); |
|
| 225 | } else { |
|
| 226 | /* translators: error message */ |
|
| 227 | $renewal_order->update_status( 'failed', sprintf( __( 'Stripe Transaction Failed (%s)', 'woocommerce-gateway-stripe' ), $response->error->message ) ); |
|
| 228 | } |
|
| 229 | } |
|
| 230 | } |
|
| 231 | ||
| 232 | /** |
|
| 233 | * Remove order meta |
|
| @@ 281-298 (lines=18) @@ | ||
| 278 | * @param $amount_to_charge float The amount to charge. |
|
| 279 | * @param $renewal_order WC_Order A WC_Order object created to record the renewal payment. |
|
| 280 | */ |
|
| 281 | public function scheduled_subscription_payment( $amount_to_charge, $renewal_order ) { |
|
| 282 | $response = $this->process_subscription_payment( $amount_to_charge, $renewal_order ); |
|
| 283 | ||
| 284 | if ( is_wp_error( $response ) ) { |
|
| 285 | /* translators: error message */ |
|
| 286 | $renewal_order->update_status( 'failed', sprintf( __( 'Stripe Transaction Failed (%s)', 'woocommerce-gateway-stripe' ), $response->get_error_message() ) ); |
|
| 287 | } |
|
| 288 | ||
| 289 | if ( ! empty( $response->error ) ) { |
|
| 290 | // This is a very generic error to listen for but worth a retry before total fail. |
|
| 291 | if ( isset( $response->error->type ) && 'invalid_request_error' === $response->error->type && apply_filters( 'wc_stripe_use_default_customer_source', true ) ) { |
|
| 292 | $this->process_subscription_payment( $amount_to_charge, $renewal_order, true ); |
|
| 293 | } else { |
|
| 294 | /* translators: error message */ |
|
| 295 | $renewal_order->update_status( 'failed', sprintf( __( 'Stripe Transaction Failed (%s)', 'woocommerce-gateway-stripe' ), $response->error->message ) ); |
|
| 296 | } |
|
| 297 | } |
|
| 298 | } |
|
| 299 | ||
| 300 | /** |
|
| 301 | * Remove order meta |
|