LiaWafanyikaji

Makadirio

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

shop.js
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

server.js
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 paid na 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

Aina kusoma kila mfumo, methodi na endpoint.