@@ 528-553 (lines=26) @@ | ||
525 | * @since 4.0.6 |
|
526 | * @param object $notification |
|
527 | */ |
|
528 | public function process_review_opened( $notification ) { |
|
529 | if ( isset( $notification->data->object->payment_intent ) ) { |
|
530 | $order = WC_Stripe_Helper::get_order_by_intent_id( $notification->data->object->payment_intent ); |
|
531 | ||
532 | if ( ! $order ) { |
|
533 | WC_Stripe_Logger::log( '[Review Opened] Could not find order via intent ID: ' . $notification->data->object->payment_intent ); |
|
534 | return; |
|
535 | } |
|
536 | } else { |
|
537 | $order = WC_Stripe_Helper::get_order_by_charge_id( $notification->data->object->charge ); |
|
538 | ||
539 | if ( ! $order ) { |
|
540 | WC_Stripe_Logger::log( '[Review Opened] Could not find order via charge ID: ' . $notification->data->object->charge ); |
|
541 | return; |
|
542 | } |
|
543 | } |
|
544 | ||
545 | /* translators: 1) The URL to the order. 2) The reason type. */ |
|
546 | $message = sprintf( __( 'A review has been opened for this order. Action is needed. Please go to your <a href="%1$s" title="Stripe Dashboard" target="_blank">Stripe Dashboard</a> to review the issue. Reason: (%2$s)', 'woocommerce-gateway-stripe' ), $this->get_transaction_url( $order ), $notification->data->object->reason ); |
|
547 | ||
548 | if ( apply_filters( 'wc_stripe_webhook_review_change_order_status', true, $order, $notification ) ) { |
|
549 | $order->update_status( 'on-hold', $message ); |
|
550 | } else { |
|
551 | $order->add_order_note( $message ); |
|
552 | } |
|
553 | } |
|
554 | ||
555 | /** |
|
556 | * Process webhook reviews that are closed. i.e Radar. |
|
@@ 561-590 (lines=30) @@ | ||
558 | * @since 4.0.6 |
|
559 | * @param object $notification |
|
560 | */ |
|
561 | public function process_review_closed( $notification ) { |
|
562 | if ( isset( $notification->data->object->payment_intent ) ) { |
|
563 | $order = WC_Stripe_Helper::get_order_by_intent_id( $notification->data->object->payment_intent ); |
|
564 | ||
565 | if ( ! $order ) { |
|
566 | WC_Stripe_Logger::log( '[Review Closed] Could not find order via intent ID: ' . $notification->data->object->payment_intent ); |
|
567 | return; |
|
568 | } |
|
569 | } else { |
|
570 | $order = WC_Stripe_Helper::get_order_by_charge_id( $notification->data->object->charge ); |
|
571 | ||
572 | if ( ! $order ) { |
|
573 | WC_Stripe_Logger::log( '[Review Closed] Could not find order via charge ID: ' . $notification->data->object->charge ); |
|
574 | return; |
|
575 | } |
|
576 | } |
|
577 | ||
578 | /* translators: 1) The reason type. */ |
|
579 | $message = sprintf( __( 'The opened review for this order is now closed. Reason: (%s)', 'woocommerce-gateway-stripe' ), $notification->data->object->reason ); |
|
580 | ||
581 | if ( $order->has_status( 'on-hold' ) ) { |
|
582 | if ( apply_filters( 'wc_stripe_webhook_review_change_order_status', true, $order, $notification ) ) { |
|
583 | $order->update_status( 'processing', $message ); |
|
584 | } else { |
|
585 | $order->add_order_note( $message ); |
|
586 | } |
|
587 | } else { |
|
588 | $order->add_order_note( $message ); |
|
589 | } |
|
590 | } |
|
591 | ||
592 | /** |
|
593 | * Checks if capture is partial. |