代码之家  ›  专栏  ›  技术社区  ›  Stef-Verniers

使用SvelteKit模拟Mollie支付

  •  0
  • Stef-Verniers  · 技术社区  · 2 年前

    我想在我的网络应用程序中实现一个Mollie模拟。 我正在使用SveltKit,但我被文档弄得一团糟。。

    因此,直到现在,我还可以通过使用+page.server.ts向数据库发出请求,但要使用Mollie,我需要采取不同的做法。但以不同的方式做会让我有一段时间退缩。。。

    当涉及到API调用和处理服务器和客户端上的数据时,我似乎无法理解SvelteKit是如何工作的。

    如果我看一下 documentation 从Mollie那里,我只是找不到在SveltKit中使用它的方法,所以我希望有人能启发我。

    这是我现在得到的:

    +page.svelte

    <script lang="ts">
        // @ts-nocheck
        import Header from '/src/components/Header.svelte';
        import type { PageData } from '../new-survey/$types';
        import { enhance } from "$app/forms";
        export let data: PageData;
        export let form;
        import { addToast } from '../../../../stores';
        import { tick } from "svelte";
    
    </script>
    
    <Header {data} />
    
    <main>
        <h1>Almost there!</h1>
        <p>Just click on the button to confirm your payment</p>
        <button on:click={}>Confirm</button>
    </main>
    

    +server.js

    import createMollieClient from "@mollie/api-client";
    import MOLLIE from '$env/static/private'
    
    const mollie = createMollieClient({
        apiKey: MOLLIE,
    })
    
    export const POST = async ({ request }) => {
        try {
            const { payment } = await mollie.payments.create({
                amount: {
                    value: '10.00',
                    currency: 'EUR',
                },
                description: 'My first API payment',
                redirectUrl: '/dashboard',
                webhookUrl: 'https://example.com/webhook',
            })
    
            return {
                status: 200,
                body: {
                    payment,
                },
            }
        } catch (error) {
            console.log(error)
        }
    }
    

    所以我想点击确认按钮,这个按钮应该会把我带到莫莉支付页面。但我该如何建立这种联系呢?当我点击那个按钮时,我的应用程序怎么知道它必须带我去那里?

    提前感谢!

    0 回复  |  直到 2 年前