🤑Resolved Payments
A Resolved Payment is a completed checkout, so represents a payment into your wallet. The payment may have succeeded or failed.
Fetch all Resolved Payments 💰
URL Path
GET
/products/:product_id/resolved_payments
- Returns all Resolved Payments associated with that Product.
Don't forget to include the headers!
Example Request
Response
The Resolved Payment object
is_test
:boolean
Whether this is a real Resolved Payment or not. If this istrue
you should not action the order. All real purchases (successful or failed) will befalse
.id
: The id relating to this payment. You can use this to check for uniqueness and protect against data duplication.product_id
:string
The id of the Product that this Resolved Payment refers to.expected_payment_id
:string
The id of the Expected Payment that this Resolved Payment refers to.product_secret
:string
A unique string specific to your Product, only available in API responses from Pay.so. You can use this to be sure the API call originated from Pay.so.slug
:string
The slug of the Product (shown in the URL for your checkout).dollar_amount
:decimal
The USD equivalent of the charge.user[email]
:string
The customer's email addressuser[custom_fields]
:array
The values of any custom fields that the Product was set to ask for. For examplefull_name
,reference
andreferrer
.expected_token[symbol]
:string
The symbol of the checkout's selected token.expected_token[
address]
:string
The contract address of the checkout's selected token.expected_token[name]
:string
The name of the checkout's selected token.expected_token[decimal_count]
:integer
The precision to which the checkout's selected token works to.expected_token[blockchain]
:string
The name of the blockchain that the checkout's selected token works on.expected_token[network]
:string
The name of the network that the checkout's selected token works on.received_token[symbol]
:string
The symbol of the token actually sent by the customer.received_token[address]
:string
The contract address of the token actually sent by the customer.received_token[name]
:string
The name of the token actually sent by the customer.received_token[decimal_count]
:integer
The precision to which the token actually sent by the customer works to.received_token[blockchain]
:string
The name of the blockchain that the token actually sent by the customer works on.received_token[network]
:string
The name of the network that the token actually sent by the customer works on.expected_token_amount
:decimal
The number of crypto tokens that Pay.so determined should be charged to match the intendeddollar_amount
.received_token_amount
:decimal
The actual amount of crypto tokens that were sent by the customer.receiving_address
:string
The wallet address that the funds were sent to.sender_address
:string
The wallet address that the funds were sent from.tx_id
:string
The hash of the transaction on the blockchain.tx_success
:boolean
Will betrue
if the transaction succeeded.tx_failure
:boolean
Will betrue
if the transaction failed.amount_difference
:float
The percentage difference betweenexpected_token_amount
andreceived_token_amount
. A perfect transaction will be0.0
, but some variation can occur, especially if the transaction wasswapped
. If the difference is greater than1.0
, you may want to arrange a partial refund. If less than-1.0
, you may want the user to send the difference before fulfilling the order.swapped
:boolean
Whether Pay.so performed a token swap for the user. For example, if you request USDC but the buyer only has ETH, Pay.so can take ETH from the user, swap it, and deliver USDC to you. This maximises conversion but can cause a higheramount_difference
than usual.created_at
: Timestamp of when the Resolved Payment was initiated.
Last updated