← Tutti i Guidi di integrazione
Guida di integrazione; API Home / Mobilità / Mobile

Integrare i pagamenti Crypto con il MochiPay API

Create and query payment orders from your application. PHP Demo 1.1.8 supports PHP 7.0–8.4 and provides order.php, callback.php, checkout.php with both presentation branches, bundled local dialog assets and an English README. Use on-site (default) or HPP with the same payment order.

Demo walkthrough · configurazione illustrativa · utilizzare un piccolo pagamento reale per verificare la propria impostazione.

Ordine, on-site o HPP Checkout, ricevimento diretto del portafoglio e conferma verificata
Payment-flow illustration. On-site and HPP use the same payment order; your server verifies its final status.

Vedi il risultato di pagamento completo

Illustrata conferma del check-out e il risultato dell'ordine e del portafoglio da verificare

Demo illustration with sample values. Verify these outcomes using a real small payment in your own setup; the checkout amount and confirmation requirements depend on the order.

01 • Preparare il tuo MochiPay conto

  1. Creare un account e Attivare un abbonamento.
  2. aperto Portafogli, selezionare Add HD Wallet → Generare Nuovo, salvare in modo sicuro la frase di recupero e salvare il portafoglio.
  3. Inserisci un riconoscibile nome di display facciale al cliente Profilo.
  4. aperto Credenziali API e copia il tuo API chiave e salvato API Se nessun segreto viene salvato, ripristinalo per la prima volta e lo memorizza in modo sicuro.Rigenerare un segreto esistente invalida le integrazioni che utilizzano il precedente segreto.

Preparazione quando: Il tuo abbonamento e ricevere la casella sono attivi, e hai le credenziali necessarie qui sotto.

Vedi la configurazione del conto illustrato

02 • Configurare il PHP Demo

Download and extract the PHP Demo. Upload the entire extracted directory, including portable/ and its QR-code license, to a PHP 7.0–8.4 server with cURL, JSON, sessions, secure random generation, private writable temporary storage and HTTPS. Protect the demo form as an administrator/staging tool; use your durable order database for production. Edit the configuration at the top of order.php.

Aperto da: Server-side order.php configuration

impostareCosa fare per entrare
MOCHIPAY_BASE_URLhttps://mochi.bz
MOCHIPAY_API_KEYIl tuo commerciante API chiave
MOCHIPAY_API_SECRETIl tuo salvataggio API Il segreto
MOCHIPAY_CHECKOUT_MODEON_SITE (default) o HPP
MOCHIPAY_DEMO_PUBLIC_URLIl tuo assoluto HTTPS URL di directory demo, specialmente dietro un proxy
API / PHP Illustrazione di configurazione demo
Configuration illustration; appearance varies by platform version. The table contains the full values.

Il fornitore PHP Demo utilizza CURLOPT_SSL_VERIFYPEER => false per le richieste di cURL.Continua API segreti nella configurazione sul server-side. non metterli mai nel browser JavaScript.

Preparazione quando: order.php loads without the credential or cURL configuration error.

Scegliere il sito o HPP

Modalitàesperienza clientiResponsabilità del server
Il sito (default)Il dialogo di pagamento sul proprio dominio, con l'importo esatto, l'indirizzo, la rete, QR e lo stato.Create and store the payment binding; query through your own backend and return only a safe payment view.
HPPRitorno al ritorno payment_url di MochiPay.Mantenere lo stesso legame e verificare gli appuntamenti/ritorni server-to-server.

Il modo di check-out è la tua preferenza di integrazione, non una API campo. entrambi i collegamenti utilizzano un ordine. non creare un altro ordine quando si scambiano modi. HPP Solo di

All five methods are available: USDT_TRC20, USDC_ERC20, BTC_BITCOIN, ETH_ERC20 and SOL_SOLANA. UP is the default unique amount direction; DOWN is also supported. Enable a receiving wallet for each offered method.

03 • Posizionare e pagare un ordine di prova

Open order.php. Create a small demo order using a unique merchant order reference and a configured payment method. Select ON_SITE or HPP; open the preferred link shown after creation. The result also offers Embedded store checkout and PHP HPP redirect links; both are implemented in checkout.php. The alternative link uses the same order.

  1. Corrisponde all'attività selezionata e alla rete, e invia l'importo esatto visualizzato sulla pagina di pagamento.
  2. Invia il L'importo esatto sulla pagina di pagamento Non girare o riutilizzare un indirizzo da un ordine diverso.
  3. Aspettate le richieste conferme blockchain e le MochiPay Ordine di diventare PAID.

The store/API example may price the product in USD. MochiPay locks the conversion when creating the order; unique amount adjustments can change the final payable amount. The checkout value is the amount to send.

Il check di successo: Il MochiPay L'ordine mostra PAID, con la transazione registrata. Aprire la pagina di ritorno del browser solo non dimostra il pagamento.

04 · Verificare il risultato e la ricezione del portafoglio

Query the order by the system order_id from your application. Accept payment only after the authenticated query is PAID and matches your stored system ID, merchant reference, original amount/currency, selected asset/network, receiving address, exact payable amount and expected received amount. Fulfill through an atomic, idempotent local transaction. callback.php demonstrates this verification for notifications and browser returns, using private demo records. It does not fulfill orders; replace temporary records and the callback TODO with your production database and fulfillment transaction. Read the bundled README.

Match the payment transaction and receiving address with your MochiPay order. Review the receiving wallet or blockchain explorer. Funds are already in your receiving wallet; there is no platform withdrawal request.

Utilizzare un portafoglio compatibile e aspettare conferme blockchain quando si spostano fondi. Leggi la guida per la gestione del ricevimento-moneta

Recupero e quantità esatte

persiste il tentativo prima di creare ordine. PHP Demo salve request_id e il carico esatto prima di Creare Ordine. Dopo un timout senza un ID di sistema salvato, ritirare lo stesso carico e request_idUn conosciuto order_id E’ chiesto, invece, per i record più vecchi senza request_id, chiedere il riferimento unico del commerciante prima di qualsiasi nuova Create. preservare i valori di risposta decimale come righe prima PHP o JavaScript Conversione flotta; display pay_amount E’ vero, il legato QR codifica solo l'indirizzo, quindi i clienti devono inserire l'importo visualizzato.

Quando si costruisce la propria API Cliente

Utilizzo X-Mochi-Key e X-Mochi-SignatureCreare ordine segna l'esatto JSON Il corpo utilizzando la base64Il codice HMAC-SHA256.Query Order segna l'esatta riga di query senza il segno di query principale.

Se il test non è completato

L'opzione di pagamento o l'ordine non può essere creato

Verificare lo stato di abbonamento, un portafoglio attivo ricevente, il codice del metodo di pagamento, le credenziali e la coppia di tassi di cambio per la valuta di ordine. Per i plug-ins, anche verificare il metodo è abilitato per il contenuto di magazzino/cliente utilizzato nel test.

Il pagamento è ancora in attesa o sottopagato

Confronta l'attività, la rete, l'indirizzo e l'importo pagato esatto con la transazione. Attendere le conferme richieste. Non segnalare un ordine di magazzino pagato basato solo su una screenshot o il ritorno del browser.

MochiPay pagato ma il mio negozio/applicazione non è aggiornato

Verificare che i punti finali di notifica/callback siano accessibili al pubblico HTTPS e non bloccato dall'autenticazione o da un firewall. conferma l'integrazione può chiedere MochiPay e verificare i suoi log di errore. link di pagamento solo aggiornamento MochiPayNon un negozio esterno.

Opzionale richiesta di deduplicazione

L'integrazione esistente continua a funzionare senza request_idPer riutilizzare lo stesso ordine di pagamento dopo un timout, aggiungere un opzionale request_id per i firmati JSON prima di computarne la firma HMAC esistente.

{"merchant_order_id":"STORE-1001","amount":25,"currency":"USD","payment_method":"USDT_TRC20","request_id":"STORE-1001:create:v1"}

Use 1–64 ASCII letters, digits, dots, underscores, colons or hyphens. A key belongs to one merchant and one request payload. Reuse the same key and payload for retries; responses keep the existing fields and return the original order in its current state. Keys are retained without automatic expiry. For a genuinely new purchase, use a new key and a new merchant_order_id; an unpaid earlier purchase does not block the same amount on a different reference. WEB82.3 guards reference creation even without request_id. Query a legacy uncertain reference first; replay unchanged only after authenticated404 ORDER_NOT_FOUND with recovery_contract=merchant-reference-v1. Deploy the website API before recovery plugins.

HTTP 409 REQUEST_IN_PROGRESSRitorna la stessa richiesta dopo il ritardo di ritorno. HTTP 409 REQUEST_ID_CONFLICT: la chiave è stata riutilizzata con un'altra carica di pagamento. non generare una nuova chiave solo per passare un timout. ON_SITE e HPP possono entrambi utilizzare i campi di pagamento restituiti o payment_url come prima.

Condividi questa guida

Invia questo link alla persona che stabilisce la tua integrazione.