Skip to main content

Manage sales payout

A payout is the transfer of funds from an end-user to you when you are selling an item/NFT. Phosphor platform enable you to sell items in cryptocurrency and/or fiat. Depending on what currency you want to sell an item, you would have to first configure how do you want to receive the payouts.

Receiving crypto funds

An organization can have a specific payout address that receives funds when a primary sale via listings is completed. This is an crypto address that can receive native tokens (ETH, MATIC, etc.) or ERC-20 tokens. This address can represent an externally owned account or a smart contract.

warning
  • A contract payout address may result in loss of funds if sales occur on a network where the contract isn't deployed.
  • You must set a crypto payout address before selling an item with mint vouchers.

Set up your crypto payout address

From the Developer Dashboard, navigate to Settings, and configure your payout address.

You can also set your payout address on the Phosphor platform using the API.

Issue a PATCH request to the organizations endpoint to edit an organization.

PATCH https://admin-api.phosphor.xyz/v1/organizations/{organization_id}
Example payload
{
"payout_address": "0x1ABC7154748D1CE5144478CDEB574AE244B939B5"
}

Note: You can edit this wallet address anytime you want.

Receiving fiat funds

Currently, we support integration with Stripe, an external payment provider that allows you to conduct sales in fiat currency. Stripe is a flexible platform that accepts a variety of payment methods, including major credit and debit cards. This provides your customers with a broad array of payment options.

Phosphor Developer is compatible with 'Standard' Stripe-connected accounts. This integration facilitates seamless financial transactions, ensuring a smooth user experience. With this type of integration, you maintain full control over your relationship with Stripe. This means you can independently log in to the Stripe Dashboard and process charges.

Set up your fiat payout integration

From the Developer Dashboard, navigate to Settings, and configure your payout address.

note
  • You must set up Stripe first before using it as a payment provider.
  • Stripe account verification and activation may take a few minutes.

The Stripe payment-intent data includes all the information needed to create a Stripe payment session and set the necessary Stripe promise.

  • account_id - Stripe account ID that requested a checkout session. See Stripe elements provider for more information on creating the Stripe object.

  • client_secret - Client secret for this checkout session's payment intent. Read more here for its use in confirming card payments.

  • mode - Either TEST or LIVE.

  • publishable_key - Publishable key for the Stripe account creating a checkout session. This is used in the loadStripe constructor from stripe-js; read more here.

  • session_id - Universally Unique Identifier (UUID) for this payment intent session.

    Example payload
    {
    "client_secret": "pi_client_secret",
    "account_id": "acct_12345ABCDE",
    "mode": "TEST",
    "publishable_key": "publishable_key",
    "session_id": "62af5a1a-73c2-443c-863f-889aa0c9ddd5"
    }

    By integrating Stripe with our platform, you have the option to select either TEST or LIVE mode. This selection instructs Stripe on how to handle incoming requests. In TEST mode, actual payment processing by card networks and payment providers is bypassed. You can use one of Stripe’s test credit cards to simulate a payment, and all Know-Your-Customer procedures are also skipped. When you’re ready to go live, switch to LIVE mode. At this point, Stripe will start processing real transactions.