diff --git a/pass/routes/admin/index.js b/pass/routes/admin/index.js
index 2ca7f2ecb1c31c3460f6cc8b1dc162c5338471b5..a89a4d7c2d99654941e9157ea2544b448029643f 100644
--- a/pass/routes/admin/index.js
+++ b/pass/routes/admin/index.js
@@ -301,7 +301,7 @@ router.post(
 
     /** @type {PaymentReference} */
     let payment_reference = queryData.payment_reference;
-    payment_reference
+    return payment_reference
       .createPayment({
         price: price_data.price,
         converted_price: price_data.converted_price,
@@ -309,8 +309,9 @@ router.post(
         payment_processor: Cash.NAME,
       })
       .then(() => {
-        res.locals.orderid = payment_reference.public_id;
-        res.render("admin/payments/cash_success");
+        return payment_reference.getKey(false).then(key => {
+          return res.redirect(`${res.baseDir}/admin/key/${key.get_key()}`);
+        });
       })
       .catch((reason) => {
         console.error(reason);