Makadirio
Kuwasiliana na kitu
Kutuma mstereani
Kuwasiliana na kitu kwenye app yako kwa $LIA, kwa kawaida. Kwa kushughulikia kwenye ukurasa wako, kisha kuthibitisha na kutoa kwenye server yako, bila kushindwa kama ukurasa unapokekana.
Wewe'Ninachapisha "3 miguu ya kuzaliwa" kwa 5 LIA. Mwanachama anapokea kwenye Lia'kikosi cha asili, kichina kusajili chaguzi kwa Lia, kusifunza matokeo, na kusifunza chaguzi kuzalisha.
#1. Ongeza bidhaa
Tuma kundi cha Lia kusaidia kusajili mali katika mfano wako: id extra-lives, jina "3 miguu ya kuzaliwa", bei 5. Server yako inaweza kuchukua'kawaida:
curl https://api.lialabs.org/api/apps/v1/products -H "Authorization: Bearer $LIA_KEY"#2. Kwenye mzunguko wako: chukua, kisha kusema kwenye server yako
async function buyExtraLives() {
let charge;
try {
charge = await Lia.pay("extra-lives");
} catch (error) {
if (error.code === "cancelled") return; // they changed their mind
Lia.toast("Couldn't open the payment", { tone: "error" });
return;
}
await deliver(charge.chargeId);
}
// Your server checks the charge and gives the lives. Safe to call twice for one charge.
async function deliver(chargeId) {
const { session } = await Lia.session();
const res = await fetch("/api/deliver", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ session, chargeId }),
});
if (!res.ok) return Lia.toast("We'll add it as soon as we can", { tone: "error" });
const { lives } = await res.json();
showLives(lives);
Lia.haptic("success");
}#3. Kwa serikali yako: angalia, wataja, kipe kichaguo
import { lia } from "./lia.js"; // the helper from the Server API page
app.post("/api/deliver", async (req, res) => {
// Who is asking: from Lia, not from the page.
const { valid, playerId } = await lia("POST", "/session/verify", { session: req.body.session });
if (!valid) return res.status(401).json({ error: "session" });
// Is this charge real, paid, and theirs?
let charge;
try {
({ charge } = await lia("GET", `/charges/${encodeURIComponent(req.body.chargeId)}`));
} catch (error) {
return res.status(404).json({ error: "no_charge" });
}
if (charge.playerId !== playerId) return res.status(403).json({ error: "not_yours" });
if (charge.status === "refunded") return res.status(409).json({ error: "refunded" });
// Give it once, keyed on the charge id (a second call finds it already given).
const lives = await db.grantOnce(charge.id, playerId, () => db.addLives(playerId, 3));
// Then tell Lia it's delivered (safe to repeat).
await lia("POST", `/charges/${charge.id}/deliver`);
res.json({ lives });
});Makosa ya kimsingi:
- Mchezaji anapokea kutoka
/session/verify, sikuwezi kwa mfumo. - Kumbukumbu inatoa
GET /charges/:id: kila mteja, muda wake, mali yake na hati yake ni Lia's. - Kushiriki kwa kila ID ya kushiriki, kwenye database yako mwenyewe, kwa kila uharibifu, webhook na mfumo unaweza't unatuma kwa mara mbili. Kufanyia kwa kipimo moja na kuzalisha ID ya malipo.
- Kutuma baada ya kushirikiana. Kama serikali yako inafuta kati ya mbili, mali inapendwa
paidna wewe'huanushirikishwa tena. Kwa
#4. Sikuwa hawakupoteza mmoja
Kificho kinaweza kuzalisha tena au kuchukua mawazo yake kati ya kuchangia na mawasiliano wako na serikali yako. Kufuata wakati app yako inafta, na wakati kuchangia inapita bila kuna pay() kwa kushiriki:
Lia.init().then(async function () {
Lia.ready();
for (const charge of await Lia.charges()) await deliver(charge.chargeId);
});
Lia.onCharge(function (charge) { deliver(charge.chargeId); });#5. Au wataja kwa kushirikiana
Kama serikali yako inatuma vitu bila picha (kama kuvuna pamoja na hesabu, kwa mfano), tuma charge.paid webhook pia. Tazama kila malipo na GET /charges/:id, grant kwa kila ID ya kifedha, kisha ujifunze. Na kila mfumo na webhook, ambayo huanza kwanza hujifunze na mwingine hujifundisha kama umejifunza.
#Kama unaweza't deliver
Kama kitu unayoyasaidia unaweza't be given (it sold out, the account is gone), give the $LIA back:
await lia("POST", `/charges/${charge.id}/refund`);Mtu anapokea bei ya kamilifu na kuchangia kimefanyika kwa kuchangia't be delivered. Tafute kwenye mstari wako.
#Tusome kwa kifuniko
Kwa kushirikiana na shughuli yako ya kusafisha na mchezo wako kwenye kusafisha, unaweza kuchagua kama mteja: kificho kina 'Kusafisha', hakuna mabadiliko ya $LIA, na kila kitu kwingine kinachotokea kwa kweli. Tazama Kuzigira.
Kutafsiri kwa kawaida. Kiingereza kina maana ya kawaida. Kusoma kwa Kiingereza