GuidePaymentsConfigured adminv2.0.0source-verified

Take payment and resolve unfinished fulfillment

Use saved-card, new-card or manual payment controls, then inspect balance and fulfillment before deciding what to retry.

For
commerce-operator
Owner
Commerce documentation owner
Applies to
Feeding Frenzy source inspected 2026-09-10
Reviewed
2026-09-10
BasketIDPaymentProcessorIDPaymentMethodIDProductRenewalID

Before you start

  • A finalized order and an authorized payment request.
  • A ready configured processor in the intended environment, or an enabled manual payment method.
  • The current balance and any existing transaction outcome. A retry must not accidentally become a second payment.

Open in your admin application

Use your installation’s admin address with one of these routes. Replace {id} with the actual record identifier.

/basket-checkout?BasketID={id}/invoices/invoice?BasketID={id}
01

Check the basket before payment

  1. Open checkout for the order

    Use Continue Checkout or /basket-checkout?BasketID={id}. Verify account, order number, line items, Amount Paid and Balance.

  2. Check editability and readiness

    A read-only basket hides payment controls. In Card payment, inspect Processor / environment and its readiness message. The form can show No enabled card processor is configured; this needs configuration, not invented card credentials.

02

Choose the appropriate payment path

  1. Use a saved method

    Select Processor / environment, then Saved payment method. Check the intended profile and choose Pay balance. The saved-method action is disabled when the processor is not ready or has no saved methods.

  2. Use a new card when authorized

    Enter Card number, Month, Year, CVV and billing first/last name and ZIP. Choose whether to Save payment method, then use Pay balance with new card. The Authorize.Net path tokenizes through Accept.js; operator notes must not substitute for the card form.

  3. Record an external/manual receipt instead

    When a receipt was actually collected by an enabled manual method, choose Record manual payment. Enter Payment method, Amount, Payment date, Reference and Notes, then Record payment. This records a receipt; it is not a card charge. This tab is absent when no manual methods are enabled.

  4. Check the recorded result

    Wait for the result and re-read Amount Paid and Balance. For a timeout or unclear gateway response, inspect the payment record/provider result before submitting a new payment. Do not equate an interrupted browser response with a failed charge.

03

Resolve fulfillment independently

  1. Read the fulfillment status

    Inspect Fulfillment and its error text. States displayed include Not Ready, Partially Fulfilled, Failed and Fulfilled. Payment may have succeeded while fulfillment remains pending or failed.

  2. Fix the named prerequisite

    Resolve the reported product, subscription or integration condition using the related record and your configured operations process. A generic Retry is not a substitute for resolving the cause.

  3. Retry only the unfinished fulfillment

    For a paid, not-fulfilled basket the page exposes Retry Fulfillment. Use that after the cause is resolved, then inspect status and generated records. Do not pay again to trigger fulfillment.

04

Evaluate the opaque-data checkout contract

This is the Feeding Frenzy commerce API used by an authorized checkout caller. It is not the Cloud Commerce Server website inquiry API. The contract below is source-derived and proposed for technical evaluation; it was not runtime-executed for this manual. Never place a real opaque payment token in public documentation.

Source-derived proposed request - not runtime-executed:

POST /api/feedingfrenzy.admin.business/commerce-basket-operations/checkout-with-opaque-data
{
  "BasketID": 7841,
  "PaymentProcessorID": 12,
  "DataDescriptor": "opaqueDataDescriptor",
  "DataValue": "opaqueDataValue",
  "SavePaymentMethod": false,
  "IdempotencyKey": "northline-placeholder-idempotency-key",
  "BillingFirstName": "Avery",
  "BillingLastName": "Chen",
  "BillingZip": "00000"
}

The Northline fixture uses fictional integer BasketID 7841 and fictional integer PaymentProcessorID 12. Human-facing references such as product code NL-ACT-240, conversation reference NL-C-031, and note reference NL-N-118 are separate strings and are never sent in typed ID fields. The descriptor, token and idempotency values are placeholders, and this sample was not runtime-executed.

Generated route and object contract. The generated external/browser JsonWs client invokes /api/feedingfrenzy.admin.business/commerce-basket-operations/checkout-with-opaque-data. Its object carries BasketID, PaymentProcessorID, DataDescriptor, DataValue, SavePaymentMethod, IdempotencyKey and billing first name, last name and ZIP.

Pre-charge rejection contract. A missing basket returns Basket not found.. Voided, deleted or unfinalized baskets are rejected. An unpaid basket with no billable total is rejected. IdempotencyKey is required. The selected processor must exist, be enabled and declare Provider=AuthorizeNet.

Source-shaped proposed success response - not runtime-executed:

{
  "IsSuccessful": true,
  "BasketID": 7841,
  "Status": "Paid",
  "Total": 250.00,
  "TransactionID": "demo-transaction-id",
  "MaskedPaymentMethod": "****1111",
  "Code": null,
  "Message": null
}

Shape and types come from BasketCheckoutResult; all values are fictional and this is not runtime proof.

Source-shaped proposed fulfillment-pending response - not runtime-executed:

{
  "IsSuccessful": false,
  "BasketID": 7841,
  "Status": "Paid",
  "Total": 250.00,
  "TransactionID": "demo-transaction-id",
  "MaskedPaymentMethod": "****1111",
  "Code": "FULFILLMENT_PENDING",
  "Message": "Fictional fulfillment exception message."
}

The source returns the caught fulfillment exception text in Message; the text above is explicitly fictional. Reconcile the paid basket and use Retry Fulfillment without another charge.

Typed result and reconciliation. BasketCheckoutResult contains IsSuccessful, BasketID, Status, Total, TransactionID, MaskedPaymentMethod, Code and Message. A paid basket returns without another charge. A fulfillment exception can return IsSuccessful=false with Status=Paid, Code=FULFILLMENT_PENDING and the failure Message. Reconcile that paid state and use Retry Fulfillment; do not submit payment again.

Product proof

These Phase 1 frames are capture specifications, not application screenshots or runtime evidence.

published proofNorthline basket showing amount paid, zero balance and a distinct fulfillment state.
Verified Northline payment ledger and separate fulfillment state.Local manual ledger proof only—not an external processor charge or physical shipment. A fulfillment retry must not submit another charge.Runtime evidence northline-launch-proof-2026-09-16 · northline-proof-checkpoint-2026-09-16

Commerce integration matrix

This matrix applies to the Feeding Frenzy commerce checkout contract, not the website inquiry API.

IntegrationSystem of recordDirectionTriggerIdentity mappingRetry / error behaviorConfiguration owner
Checkout caller → Feeding Frenzy basket serviceFeeding Frenzy databaseInbound requestExplicit checkoutBasketID / account + PaymentProcessorID + IdempotencyKeyReconcile basket and transaction state before retryInstallation / delivery owner
Feeding Frenzy → configured payment processorProvider for gateway transaction; Feeding Frenzy for basket/payment recordOutboundCheckoutTransaction and customer/payment profile IDsIdempotency plus paid-state reconciliationInstallation owner / provider account owner
Feeding Frenzy → fulfillment or subscription processorFeeding Frenzy for basket; external subscription system where applicableOutbound after successful paymentSuccessful payment completionBasketID / ProductRenewalID / external subscription IDFULFILLMENT_PENDING then Retry Fulfillment without another chargeInstallation / delivery owner

Fields & records

Field / recordMeaning or use
Amount Paid / BalanceRecorded money and remaining balance, separate from fulfillment.
Processor / environmentThe actual provider/environment used by this checkout.
ReferenceExternal receipt or transaction reference for a manual payment.
Retry FulfillmentFor a paid basket whose fulfillment is incomplete; not a second payment.

Verify the result

  • Payment appears once and Balance reflects the intended receipt.
  • Fulfillment is complete or its remaining error is explicitly identified.
  • Recurring lines link to the resulting subscription/renewal where created.

Troubleshooting

What you seeWhat to check or do
Processor is not readyResolve the displayed configuration/readiness condition.
Changing gateway environment after loading a card scriptReload checkout before changing environments; Accept.js is environment-bound in this page.
Paid but Failed / Partially FulfilledRead the fulfillment error, fix its cause, then Retry Fulfillment.
Payment result unknownReconcile the transaction before issuing another charge.

Version & scope

Procedure checked against current Feeding Frenzy forms and services. Source verification is not a claim that a live payment, message, customer transaction or full operator run occurred.

Public guides describe shared controls, records and configuration boundaries using fictional data. Tenant URLs, credentials, customer records, provider identifiers and installation-only procedures belong in customer-controlled documentation and are excluded from public pages and search.

Version
2.0.0
Change source
Current Feeding Frenzy forms/services plus reconciled Wiki topics
Feedback key
guide:payment-fulfillment
Was this guide helpful?

Feedback records only the page, guide ID and yes/no choice. It never records documentation search text.

Implementation references (5)
  • FeedingFrenzy.Admin/wwwroot/kScripts/Baskets/Basket.Checkout.ks.html
  • FeedingFrenzy.Admin.Business/CommerceBasketOperations.cs
  • FeedingFrenzy.Admin/wwwroot/JsonWs/FeedingFrenzy.Admin.Business.CommerceBasketOperations.ashx.js
  • FeedingFrenzy.Admin/wwwroot/JsonWs/FeedingFrenzy.Admin.Business.CommerceBasketOperations.json
  • FeedingFrenzy.Commerce/Services/BasketCheckoutService.cs
← All documentationSoftware feature map ↗