> ## Documentation Index
> Fetch the complete documentation index at: https://docs.acedata.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# Betala AceDataCloud-plattformsorder

> Platform API guide - Ace Data Cloud

Skapa eller uppdatera en betalningssession för en `Pending`-order. Betalningsåtgärden kommer att kontakta betalningskanalen och kan ändra orderstatusen; innan anropet måste order-ID, belopp och betalningsmetod bekräftas.

## Gränssnittsöversikt

| Objekt | Innehåll |
| - | - |
| Metod | `POST` |
| URL | `https://platform.acedata.cloud/api/v1/orders/{order_id}/pay/` |
| Auktorisering | Hanterade omdirigeringsbetalningar kan vara anonyma; andra metoder kräver inloggningssession eller Account Token |
| Body | JSON, obetalda ordrar måste ange `pay_way` |

## Gränser för anonym betalning

Anonym åtkomst används för scenarier där inloggningssessionen går förlorad efter att en kopierad betalningslänk öppnas, och behöver inte och bör inte bära en långvarig Account Token. Anonyma anrop:

* tillåter endast hanterade omdirigeringsbetalningsmetoder som konfigurerats på serversidan;
* använder alltid betalningssidan för datorer;
* kan inte hämta ordrar med nollpris;
* begränsas av IP och per enskild order;
* returnerar en minimal orderprojektion, utan konto, Application eller intern metadata.

Autentiserade anropare måste vara orderägaren eller superadministratören. Metoder som X402 och belöningsinlösen som kräver användarkontext kan inte anropas anonymt.

## Begäransexempel

```shell theme={null}
export ORDER_ID='ditt Pending-order-ID'

curl -X POST \
  "https://platform.acedata.cloud/api/v1/orders/${ORDER_ID}/pay/" \
  -H 'Content-Type: application/json' \
  -d '{"pay_way":"Stripe"}'
```

Betalningsmetoder som kräver autentisering:

```shell theme={null}
export PLATFORM_TOKEN='din kontotoken'

curl -X POST \
  "https://platform.acedata.cloud/api/v1/orders/${ORDER_ID}/pay/" \
  -H "Authorization: Bearer ${PLATFORM_TOKEN}" \
  -H 'Content-Type: application/json' \
  -d '{"pay_way":"X402"}'
```

`pay_way` använder verkliga värden som stöds av ordermodellen, till exempel `WechatPay`, `AliPay`, `Stripe`, `Card`, `Airwallex`, `X402`, `PayPal`, `AppleIAP`, `Reward`, `BankTransfer`. Inte alla värden är tillgängliga för anonyma begäranden eller på varje webbplats.

## Svarsbeskrivning

Ett lyckat svar är det uppdaterade orderobjektet, som vanligtvis tillhandahåller nästa steg via `pay_url`; olika betalningsmetoder kan också returnera information i kontrollerade fält som klienten behöver för att fortsätta betalningen. Anonyma svar använder en minimal fältvitlista, medan autentiserade ägare får fullständig information.

Förlita dig inte på gamla fältnamn som `payment_url`, `qr_code_url` eller `payment_method`; det aktuella Order-kontraktet använder `pay_url` och `pay_way`.

## iOS-köp i appen

Den inloggade orderägaren kan skicka `pay_way: "AppleIAP"`. Denna begäran uppdaterar den väntande betalningsordern enligt den valda planens `metadata.apple_price` och rensar rabatten, utför ingen debitering, delar inte ut krediter och returnerar inte heller någon betalningslänk. Gamla väntande betalningsordrar bör först slutföra detta steg och därefter initiera Apples inbyggda betalning. Endast en Usage-plan med en konfigurerad Apple-produkt och ett pris stöds; planer eller batchordrar som inte stöds returnerar `400`.

Efter Apples inbyggda betalning skickas `transaction_id` via `/api/v1/orders/{id}/apple-verify/` för att slutföra verifiering på serversidan och utdelning av krediter. Antalet krediter kommer från planen; beloppet använder Apples separata förinställda pris i USD, utan medlemsrabatter eller webbplatsprispåslag, och det lokala debiteringsbeloppet i andra regioner är enligt Apples bekräftelsesida.

## Fel och återförsök

* Ordern är inte `Pending`: returnerar `400`; skapa inte betalningssessionen upprepade gånger.
* `pay_way` har inte angetts: ordrar med belopp över noll returnerar `400`.
* Ett anonymt anrop använder en otillåten metod eller en order med nollpris: returnerar `403`, logga in och försök igen som ägaren.
* Autentiserad men inte orderägaren: returnerar `403`.
* Betalningskanalen misslyckas: skicka inte in igen blint; hämta först orderinformationen, bekräfta att den fortfarande är `Pending` och försök sedan igen.

## Relaterade gränssnitt

* [Skapa påfyllnadsorder](https://platform.acedata.cloud/documents/platform-order-create)
* [Hämta orderinformation](https://platform.acedata.cloud/documents/platform-order-detail)
* [Uppdatera orderstatus](https://platform.acedata.cloud/documents/platform-order-refresh)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.