Brezšivna integracija Moneris Checkout: Odpravljanje težav z odzivom JSON
Moneris Checkout je pogosto uporabljen sistem plačilnih prehodov, ki podjetjem pomaga pospešiti spletne transakcije. Vendar pa je lahko integracija v vaše spletno mesto težavna, zlasti če zahtevani podatki, kot je številka vstopnice, niso vrnjeni iz klica JSON. Takšne napake lahko ovirajo reden tok transakcij, zato je odpravljanje napak nujna veščina za inženirje.
Razumevanje, kako pravilno konfigurirati blagajno, je ključnega pomena pri zamenjavi zastarele gostujoče plačilne strani (HPP) z Monerisom in uporabo njihovega vmesnika JavaScript. Če želite svojim strankam zagotoviti brezhibno izkušnjo, poskrbite, da bodo na strani objavljeni podatki o transakcijah in pridobljeni točni odgovori.
Številni razvijalci imajo težave pri sledenju Monerisovi integracijski dokumentaciji. Kompleksnost izhaja iz obravnavanja povratnih klicev, nalaganja transakcijskih podatkov in rezultatov branja v realnem času, kar je vse potrebno za uspešno integracijo. Ko začnete svojo integracijsko pot, vam bo morda koristila jasna in dobro dokumentirana metodologija.
V tej objavi si bomo ogledali, kako rešiti težavo z manjkajočimi številkami vstopnic v vaši integraciji Moneris. Na to težavo boste bolje pripravljeni, če pregledate potrebne izrezke kode in tehnike za odpravljanje težav.
Ukaz | Primer uporabe |
---|---|
monerisCheckout() | To je funkcija konstruktorja iz Moneris JavaScript SDK. Sproži postopek blagajne. Ta skript ustvari nov primerek pripomočka Moneris Checkout, ki vam omogoča vdelavo plačilnega prehoda na vaše spletno mesto. |
setMode() | Podaja okolje za transakcijo Moneris. V tem primeru se "qa" nanaša na testno okolje, v katerem lahko varno simulirate transakcije brez obdelave dejanskih plačil. To je potrebno za testiranje integracije brez dejanskega bremenitve kartic. |
setCheckoutDiv() | Ta ukaz poveže blagajno Moneris z določenim vsebnikom HTML (div). Če vnesete ID »monerisCheckout«, se v tem razdelku prikaže pripomoček za plačilo, ki vam omogoča, da izberete, kje na strani se pojavi obrazec. |
setCallback() | Med postopkom odjave dodelite funkcijo določenemu dogodku. V tem scenariju funkcija po meri »myPageLoad« obravnava dogodek »page_loaded«, kar razvijalcem omogoča zagon kode, ko je stran za dokončanje nakupa popolnoma naložena. |
startCheckout() | Začnite postopek plačila Moneris. Ko je ta funkcija priklicana, začne tok plačila tako, da upodablja obrazec za plačilo in ga poveže z zalednim sistemom za obdelavo transakcij. |
app.post() | To je upravljalnik poti Express.js, ki obravnava zahteve POST. Ta skript prejme potrdila o plačilu iz ozadja Moneris po končani transakciji, kar omogoča dodatno obdelavo, kot je shranjevanje podatkov o plačilu ali izdajanje potrditev. |
bodyParser.json() | Funkcija vmesne programske opreme v Expressu za razčlenjevanje dohodnih zahtev JSON. V tem primeru je še posebej kritično, ker Moneris prenaša transakcijske podatke v formatu JSON. Ta ukaz zagotavlja, da je telo zahteve pravilno obdelano za obdelavo na strani strežnika. |
chai.request() | Ta ukaz je del testnega paketa Chai HTTP, ki pošilja zahteve HTTP znotraj testnih primerov. Replicira zahteve POST v API za plačila Moneris med preskusom enote, kar razvijalcu omogoča, da vidi, kako zaledje obravnava uspešne in neuspešne transakcije. |
expect() | Osnovna funkcija trditve v knjižnici Chai. V okviru enotnih testov ugotavlja, ali so določeni pogoji izpolnjeni. Uporablja se za zagotovitev, da se status odgovora in sporočilo, ki ju vrne končna točka plačila, ujemata s predvidenimi rezultati. |
Razumevanje integracije Moneris Checkout in delovnega toka skripta
Vključeni sprednji skript integrira sistem Moneris Checkout v spletno mesto prek JavaScripta. Primarna funkcionalnost se začne z vzpostavitvijo primerka blagajne Moneris prek monerisCheckout() konstruktor. Ta primerek služi kot vmesnik med vašim spletnim mestom in Monerisovo storitvijo za obdelavo plačil. Ukaz setMode() določa, ali naj bo okolje nastavljeno na "qa" za testiranje ali "live" za proizvodnjo, kar je ključnega pomena v razvojnih fazah. Z izbiro »qa« lahko razvijalci posnemajo transakcije brez stroškov v resničnem svetu in ustvarijo varno testno poligon.
Ko je primerek za dokončanje nakupa zgrajen, je setCheckoutDiv() ukaz poveže obrazec za odjavo Moneris z določenim divom HTML. Tukaj se na strani prikaže obrazec za plačilo. To zagotavlja, da se vizualni prikaz plačilnega obrazca prikaže v določenem delu spletnega mesta, zaradi česar je postopek brezhiben in integriran v vaš obstoječi dizajn. V našem primeru je obrazec Moneris vstavljen v div z ID-jem »monerisCheckout«. Ta div služi kot ograda za dinamično naloženo vsebino Moneris, ki vključuje vnosna polja in gumbe za plačilo strank.
Skript se nato izvede setCallback(), kar omogoča razvijalcu, da konfigurira posebno obravnavo dogodkov za postopek zaključka nakupa. Natančneje, funkciji je priložen povratni klic za "page_loaded". myPageLoad, ki zagotavlja, da se lahko, ko je stran v celoti naložena, izvedejo dodatna dejanja po meri (kot je beleženje podatkov). Ta funkcija omogoča prilagodljivost pri obravnavi uporabniške izkušnje. Beleženje vsebine npr predmet znotraj myPageLoad() pomaga razvijalcem pri odpravljanju napak z zagotavljanjem povratnih informacij v realnem času o podatkih, ki jih vrne Moneris.
Nazadnje, zaledni skript obravnava prejem plačilnih podatkov na strani strežnika. Uporaba Express.js v Node.js, pot app.post() je definiran za prejemanje zahtev POST od Monerisa, ko je transakcija končana. Ta končna točka obdela vrnjeni JSON in preveri odzivna_koda ali je bilo plačilo uspešno. Če je transakcija uspešna, se lahko podatki o transakciji (kot je številka vstopnice) zabeležijo ali vnesejo v bazo podatkov. Z vračanjem ustreznih statusnih kod in sporočil zaledje omogoča nemoteno povezavo s sprednjim delom in uporabniku zagotavlja kritične povratne informacije, na primer, ali je bila transakcija uspešna ali neuspešna.
Integracija Moneris Checkout z JavaScriptom: sprednje in zaledne rešitve
Front-end rešitev, ki uporablja JavaScript za vključitev obrazca Moneris Checkout in obdelavo odgovorov na transakcije.
// Front-end integration script
// This script embeds the Moneris checkout and processes the transaction result
<script src="https://gatewayt.moneris.com/chktv2/js/chkt_v2.00.js"></script>
<div id="monerisCheckout"></div>
<script>
var myCheckout = new monerisCheckout();
myCheckout.setMode("qa"); // Set environment to QA
myCheckout.setCheckoutDiv("monerisCheckout"); // Define div for checkout
// Add callback for when the page is fully loaded
myCheckout.setCallback("page_loaded", myPageLoad);
// Start the checkout process
myCheckout.startCheckout("");
// Function that gets triggered when the page is loaded
function myPageLoad(ex) {
console.log("Checkout page loaded", ex);
}
// Function to handle the receipt after the payment
function myPaymentReceipt(ex) {
if(ex.response_code === '00') {
alert("Transaction Successful: " + ex.ticket);
} else {
alert("Transaction Failed: " + ex.message);
}
}
</script>
Zaledna rešitev z Node.js in Express: ravnanje s plačilnimi podatki
Zaledna rešitev, ki uporablja Node.js in Express za upravljanje podatkov Moneris po plačilu
// Node.js backend script for processing payment receipt data
// This backend handles the response from Moneris and processes it for database storage
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
// Endpoint to receive the payment result
app.post('/payment-receipt', (req, res) => {
const paymentData = req.body;
if (paymentData.response_code === '00') {
console.log('Payment successful:', paymentData.ticket);
// Insert into database or further process the payment
res.status(200).send('Payment success');
} else {
console.error('Payment failed:', paymentData.message);
res.status(400).send('Payment failed');
}
});
app.listen(3000, () => {
console.log('Server running on port 3000');
});
Preizkušanje enot za obdelavo plačil v zaledju z Mocha in Chai
Testiranje zalednih enot z Mocha in Chai za potrditev funkcionalnosti ravnanja z denarjem
// Unit test for the Node.js backend using Mocha and Chai
// This test checks if the backend properly handles successful and failed transactions
const chai = require('chai');
const chaiHttp = require('chai-http');
const app = require('../app');
const expect = chai.expect;
chai.use(chaiHttp);
describe('POST /payment-receipt', () => {
it('should return 200 for successful payment', (done) => {
chai.request(app)
.post('/payment-receipt')
.send({ response_code: '00', ticket: '123456' })
.end((err, res) => {
expect(res).to.have.status(200);
expect(res.text).to.equal('Payment success');
done();
});
});
it('should return 400 for failed payment', (done) => {
chai.request(app)
.post('/payment-receipt')
.send({ response_code: '01', message: 'Transaction Declined' })
.end((err, res) => {
expect(res).to.have.status(400);
expect(res.text).to.equal('Payment failed');
done();
});
});
});
Izboljšanje integracije Moneris Checkout z možnostmi prilagajanja
Pri delu z integracijo Moneris Checkout razvijalci pogosto iščejo metode za prilagoditev postopka nakupa za izboljšanje uporabniške izkušnje. Obrazec za odjavo komponente uporabniškega vmesnika je mogoče prilagoditi, kar je manj znana funkcija. Moneris omogoča podjetjem, da prilagodijo videz in postavitev strani za nakup, kar jim omogoča, da jo uskladijo s svojo blagovno znamko. To vključuje spreminjanje postavitev gumbov, polj obrazcev in celo besedila, da bi olajšali postopek za končne uporabnike in povečali konverzije.
Drug dejavnik, ki ga je treba preučiti, je uporaba vrst transakcij, ki niso osnovna plačila. Moneris ima zmožnosti, kot je predavtorizacija, pri kateri se znesek transakcije shrani na kartico, vendar se ne bremeni takoj. Ta funkcija je še posebej pomembna na področjih, kot so hoteli in najem avtomobilov, kjer se končne cene lahko razlikujejo. Integracija lahko obravnava številne vrste transakcij z isto uporabo API, zaradi česar je vsestranski za različne primere uporabe.
Varnost je glavna prednostna naloga pri vsaki integraciji plačil, Moneris Checkout pa vključuje tehnologije, kot sta tokenizacija in preprečevanje goljufij. Tokenizacija nadomešča občutljive podatke kartice z žetonom, tako da podatki potrošnikov v vaših sistemih niso nikoli izpostavljeni. Izvajanje varnostnih ukrepov, kot so tehnologije za odkrivanje goljufij in skladnost s standardom PCI DSS, lahko dramatično zmanjša tveganja, povezana s spletnimi transakcijami.
Pogosta vprašanja o integraciji Moneris Checkout
- Kaj je Moneris Checkout?
- Moneris Checkout je rešitev prehoda za plačila, ki podjetjem omogoča varno sprejemanje plačil prek njihovega spletnega mesta. Ponuja prilagodljive obrazce za odjavo in sprejema različne načine plačila.
- Kako lahko prilagodim obrazec Moneris Checkout?
- Moneris API vam omogoča, da prilagodite zasnovo obrazca za nakup s spreminjanjem elementov, kot so gumbi in vnosna polja. Uporabite ukaze, kot je setCustomStyle() da obrazcu dodate slog vaše znamke.
- Kakšen je pomen nastavitve okolja na "qa"?
- Nastavitev okolja na "qa" z setMode("qa") omogoča varno testiranje transakcij brez obdelave resničnih plačil.
- Kako ravnam s transakcijo pred avtorizacijo?
- Za upravljanje predhodne avtorizacije vključite action: "preauth" argument v vaši zahtevi JSON. To bo zadržalo strankino kartico, namesto da bi jo takoj bremenili.
- Kakšne varnostne ukrepe zagotavlja Moneris Checkout?
- Moneris podpira tokenizacijo, ki zamenja občutljive podatke o kreditni kartici z žetonom. Skladnost z PCI DSS zagotavlja, da vaša integracija izpolnjuje varnostne zahteve industrije.
Končne misli o integraciji Moneris Checkout
Za uspešno integracijo Moneris Checkout z JavaScriptom je treba skrbno načrtovati nastavitve sprednjega in zadnjega dela. Zagotavljanje dobre izkušnje pri nakupu za uporabnike zahteva zagotovitev, da so podrobnosti transakcije, kot je številka vstopnice, ustrezno zajete.
Testiranje v okolju QA in pravilno strukturiranje obrazca za plačilo vam bosta pomagala odkriti težave zgodaj. S pravilno tehniko lahko ustvarite brezhiben in varen postopek plačila, ki ustreza ciljem vašega podjetja, hkrati pa zagotavlja zadovoljstvo strank.
Reference in viri za integracijo Moneris Checkout
- Ta članek temelji na dokumentaciji o integraciji Moneris Checkout in referenci API-ja. Za podrobnejše informacije obiščite uradno repozitorij Moneris GitHub: Moneris Checkout GitHub .
- Dodatna navodila za nastavitev plačilnih integracij, ki temeljijo na JavaScriptu, najdete na portalu za razvijalce Moneris: Portal za razvijalce Moneris .
- Za najboljše prakse pri obravnavanju klicev JSON in zajemanju odzivov na transakcije si oglejte dokumentacijo JavaScript SDK: Moneris JavaScript SDK .