get_checkout_payment_url(), 'manual' ); } /** * Nothing is ever charged, so there is never a charge to reconcile. */ public function reconcile( Subscription $subscription, string $idempotency_key ): ?Charge_Result { return null; } public function cancel_mandate( Subscription $subscription ): bool { return true; } public function update_payment_method( Subscription $subscription, string $token ): bool { return false; } }