Votre traitement cryptographique fiable
WIX
Comment configurer le plugin Ammer Pay.
La première étape de la configuration de votre nouveau plugin consiste à l'ajouter à votre site. Ce processus crée un nouveau dossier dans la section Service Plugins de la barre latérale Code, qui contient les fichiers de votre code.

Étape 1 : Créez un nouveau plugin de fournisseur de paiement

  1. Avec le mode développeur de Wix activé, cliquez sur Public & Backend dans la barre latérale de code
  2. Faites défiler vers le bas jusqu'à Plugins de service.
3. Survolez Service Plugins et cliquez sur +

4. Sélectionnez Paiement

5. Entrez un nom AmmerPay et cliquez sur Ajouter et modifier le code.

Étape 2 : Mise en œuvre du plugin

La procédure décrite dans la section précédente crée un dossier appelé payment-provider dans la section Service Plugins de la barre latérale Code. À l'intérieur de ce dossier se trouve un autre dossier portant le nom du plugin que vous avez mis en place. Ce dossier contient 2 fichiers, -config.js et .js, renommez-les en AmmerPay-config.js et AmmerPay.js.
Etape 3 : Remplir les fichiers du pluginAmmerPay-config.js

Copiez le code ci-dessous et collez-le dans AmmerPay-config.js
export function getConfig() {
    return {
        title: 'Ammer Pay',
        paymentMethods: [{
            hostedPage: {
                title: 'Ammer Pay',
                billingAddressMandatoryFields: ['CITY'],
                logos: {
                    white: {
                        svg: 'https://media.ammer.io/icons/ammer_pay_logo.svg',
                        png: 'https://media.ammer.io/icons/ammer_pay_logo.png'
                    },
                    colored: {
                        svg: 'https://media.ammer.io/icons/ammer_pay_logo.svg',
                        png: 'https://media.ammer.io/icons/ammer_pay_logo.png'
                    }
                }
            }
        }],
        credentialsFields: [{
                simpleField: {
                    name: 'merchantId',
                    label: 'Merchant id'
                },
            },
            {
                simpleField: {
                    name: 'cashRegisterId',
                    label: 'Cash register id'
                }
            },
            {
                simpleField: {
                    name: 'deviceId',
                    label: 'Device id'
                }
            },
            {
                simpleField: {
                    name: 'invoiceCurrency',
                    label: 'Invoice currency'
                }
            },
            {
                simpleField: {
                    name: 'locationId',
                    label: 'Location id'
                }
            }
        ]
    };
}
AmmerPay.js

Copiez le code ci-dessous et collez-le dans AmmerPay.js
Rappelez-vous que vous devez changer hostName et siteName par les vôtres (vous obtenez ces données de WIX).
import { ammerPayRequest } from 'backend/ammerPayAPI.js';

export const connectAccount = async (options, context) => {
    return {
        'accountId': 'Ammer Pay',
        'credentials': {
            'merchantId': options.credentials.merchantId,
            'cashRegisterId': options.credentials.cashRegisterId,
            'deviceId': options.credentials.deviceId,
            'invoiceCurrency': options.credentials.invoiceCurrency,
            'locationId': options.credentials.locationId
        }
    }
};

export const createTransaction = async (options, context) => {
    try {
        let checkoutSession = await createCheckoutSession(options);

        return checkoutSession;
    } catch (error) {
        return error;
    }
};

// Creates a new checkout session using the Ammer API.
export async function createCheckoutSession(transactionRequest) {
    try {
        const hostName = "exampleHost";
        const siteName = "exampleName";

        // Set the callback URL to this site's 'updateCheckoutSession' HTTP endpoint.
        const callbackUrl = `https://${hostName}.wixsite.com/${siteName}/_functions/updateTransaction?wixTransactionId=${transactionRequest.wixTransactionId}`;
        const returnUrl = transactionRequest.order.returnUrls.successUrl;

        const body = {
            merchantId: transactionRequest.merchantCredentials.merchantId,
            cashRegisterId: transactionRequest.merchantCredentials.cashRegisterId,
            deviceId: transactionRequest.merchantCredentials.deviceId,
            invoiceCurrency: transactionRequest.merchantCredentials.invoiceCurrency,
            locationId: transactionRequest.merchantCredentials.locationId,
            netTotal: transactionRequest.order.description.totalAmount,
            redirectUrl: returnUrl,
            callbackUrl: callbackUrl,
        };

        const response = await ammerPayRequest(body);

        const paymentUrlArray = response.paymentUrl.split('/');

        const txId = paymentUrlArray[paymentUrlArray.length - 1];

        if (response.paymentUrl) {
            return {
                pluginTransactionId: txId,
                redirectUrl: response.paymentUrl,
            };
        } else {
            const errorObject = {
                reasonCode: 6000,
                errorCode: 'GENERAL_ERROR',
                errorMessage: 'Something went wrong with the transaction request',
            };

            return errorObject;
        }
    } catch (error) {
        console.error('Error completing checkout request: ', error);

        return error;
    }
}

export const refundTransaction = async (options, context) => {};
AmmerPayAPI.js

Vous devez également créer 2 fichiers backend ammerPayAPI.js et http-functions.js
Copiez le code ci-dessous et collez-le dans ammerPayAPI.js
import { fetch } from 'wix-fetch'

export async function ammerPayRequest(body) {
    const options = {
        method: 'POST',
        headers: {
            'X-DEVICE-KEY': body.deviceId,
            'Content-Type': 'application/x-www-form-urlencoded',
        },
        body: new URLSearchParams(body).toString()
    }

    try {
        const response = await fetch('https://apimerchant.ammer.io/merchants/api/service/invoice/createAndRedirect?application=WIX', options);

        const formattedResponse = await response.json();

        return formattedResponse;
    } catch (err) {
        console.log('The request to the AmmerPay API failed.', err);

        return err;
    }
}
http-functions.js

Copiez le code ci-dessous et collez-le dans http-functions.js
import wixPaymentProviderBackend from 'wix-payment-provider-backend';
import { ok, badRequest } from 'wix-http-functions';

// This endpoint is used to update the status of a checkout session transaction.
export async function post_updateTransaction(request) {
    const transactionRequestBody = await request.body.json()

    const response = {
        'headers': {
            'Content-Type': 'application/json'
        }
    };

    // If the payment was received by Ammer update the transaction status on the site.
    if (transactionRequestBody.state === 'Payment_Received') {
        const queryParamId = request.query['wixTransactionId'];

        try {
            await submitTransactionUpdate(queryParamId, transactionRequestBody.txId);

            response.body = {};

            return ok(response);
        } catch (err) {
            response.body = {
                'error': err
            };

            return badRequest(response);
        }
    } else {
        return badRequest(response);
    }
}

// Use the submit event function to update a transaction's status.
export async function submitTransactionUpdate(wixTransactionId, pluginTransactionId) {
    try {
        const response = await wixPaymentProviderBackend.submitEvent({
            'event': {
                'transaction': {
                    'wixTransactionId': wixTransactionId,
                    'pluginTransactionId': pluginTransactionId
                }
            }
        });

        return response;
    } catch (error) {
        console.log('Error updating the transaction status: ', error)

        return error;
    }
}
Étape 4 : Déployer le plugin

Finalement, vous devriez obtenir une structure comme celle-ci
Une fois que vos fichiers de code sont prêts, vous devez déployer votre plugin et l'activer sur le tableau de bord de votre site

  1. Sauvegardez et publiez votre site
  2. Allez dans les paramètres d'acceptation des paiements sur le tableau de bord de votre site
  3. Recherchez le nom Ammer pay dans la liste des méthodes de paiement, il se trouvera probablement sous Voir plus d'options de paiement.
4. Cliquez sur Connecter et configurez ensuite le plugin.
Étape 5 : Configuration du plugin

  1. Allez sur merchants.ammer.io
  2. Allez sur la page des emplacements
  3. Créez un emplacement ou sélectionnez un emplacement existant
  4. Ouvrez les détails de l'emplacement et cliquez sur Ajouter un canal de paiement.
5. Sélectionnez le type de canal : eCommerce et Payment Plugin : WIX et mettez en place toutes les informations nécessaires
6. Après avoir créé le canal de paiement, vous verrez l'écran de configuration du plugin
N'oubliez pas que si vous supprimez le canal de paiement ou l'emplacement où se trouve le canal de paiement, votre plugin cessera de fonctionner et vous devrez mettre à jour les données relatives au canal de paiement dans les paramètres du plugin.
Documentation Ammer Pay
Informations utiles pour les commerçants
Je suis là pour aider
Contactez-nous
Avez-vous des questions ?
Telegram
WhatsApp
Mail
Phone

Suivez-nous

© 2025 Ammer Pay

Made on
Tilda