Creating Fiat Payin With Wallet Transfer

Creating a gaming (Fiat payin with wallet) order (API Link)

  • Minimal payload:
    If source.paymentCode is not specified, the end user will have the option to make the payment using any of the enabled payment methods.
    curl --location 'https://sandbox-api.transfi.com/v3/orders' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Basic ==' \
    --header 'mid: SAH1N3_NA_NA' \
    --data '{
        "userId": "UX-2123123123123",
        "orderType": "gaming",
        "purposeCode": "company_expenses",
        "source": {
            "currency": "EUR",
            "amount": "200",
            "paymentType": "bank_transfer"
        },
        "destination": {
            "currency": "USDCSOL"
        }
    }'
    {
        "status": "success",
        "data": {
            "flow": "FIAT_PAYIN_WITH_WALLET",
            "orderId": "OR-260824092419531112133755766",
            "payUrl": "https://qa-pay-widget.transfi.com/gaming?paytoken=d0a7f695-7043-4592-9f7d-9b17d1176521",
            "feeData": {
                "depositAmount": 200,
                "withdrawAmount": 232.714938,
                "exchangeRate": 1.166490915368751,
                "totalFee": 0.5
            },
            "quoteHistory": {
                "refreshCount": 0,
                "orderCreationQuote": {
                    "isRefreshed": false,
                    "usedQuotes": {
                        "sourceCurrency": "EUR",
                        "sourceAmount": 200,
                        "sourceAmountInUsd": 233.24,
                        "sourceCurrencyType": "fiat",
                        "destinationCurrency": "USDCSOL",
                        "destinationAmount": 232.714938,
                        "destinationAmountInUsd": 232.66,
                        "destinationCurrencyType": "crypto",
                        "conversionRate": 1.166490915368751,
                        "minLimit": 2,
                        "maxLimit": 14500,
                        "direction": "forward",
                        "processingFee": 0.5,
                        "processingFeeRate": 0.0025,
                        "customerFee": 0,
                        "customerFeeRate": 0,
                        "rrFeeRate": 0,
                        "discount": 0,
                        "discountRate": 0,
                        "additionalFee": 0,
                        "fixedFee": {
                            "totalFixedFees": 0,
                            "totalFixedTfFees": 0,
                            "totalFixedCxFees": 0,
                            "fixedFeesCurrency": "",
                            "fixedFeeDetails": {
                                "baseFeeFixedRate": 0,
                                "tfFeeFixedRate": 0,
                                "cxFeeFixedRate": 0,
                                "currency": ""
                            }
                        },
                        "totalFee": 0.5,
                        "feeMode": "percentage",
                        "expiresAt": "2026-08-24T09:29:22.854Z",
                        "rateType": "live",
                        "quoteId": "QUOTE-466d725b-824a-45ef-8a3f-b1fc0ed69788"
                    }
                }
            }
        },
        "traceId": "0d4db17a-a070-4177-bb54-56cdb8bd8d36"
    }
  • Full payload
    curl --location 'https://sandbox-api.transfi.com/v3/orders' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Basic ==' \
    --header 'mid: SAH1N3_NA_NA' \
    --data '{
        "userId": "UX-2123123123123",
        "orderType": "gaming",
        "purposeCode": "company_expenses",
        "purposeCodeReason": "Personal payment",
        "successRedirectUrl": "https://yourapp.com/success",
        "failureRedirectUrl": "https://yourapp.com/failure",
        "sourceUrl": "https://yourapp.com/source"
        "partnerId": "1234567890",
        "customerMetaData": {
            "customerId": "1234567890",
            "customerName": "John Doe",
            "customerEmail": "[email protected]"
        },
        "deviceDetails": {
            "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)",
            "ipInfo": {
                "ip": "123.123.123.123",
                "countryCode3": "IND"
            }
        },  
        "source": {
            "currency": "EUR",
            "amount": "200",
            "paymentType": "bank_transfer",
            "paymentCode": "swift"
        },
        "settlementAccountId": "SA-260824123100335193180713031",
        "destination": {
            "currency": "IDR",
            "holdingCurrency": "USDC"
        },
         "customization": {
            "locale": "id"
         },
    }'
    {
        "status": "success",
        "data": {
            "flow": "FIAT_PAYIN_WITH_WALLET",
            "orderId": "OR-260824123345826214673678693",
            "payUrl": "https://pay-widget.transfi.com//gaming?paytoken=5a215169-cf72-405e-8f2d-362ea42afddd",
            "feeData": {
                "depositAmount": 200,
                "withdrawAmount": 3868639.7262805086,
                "holdingRatesData": {
                    "depositAmount": 200,
                    "holdingAmount": 229.999661,
                    "exchangeRate": 1.1675109716843564,
                    "totalFee": 3
                },
                "settlementRatesData": {
                    "holdingAmount": 229.999661,
                    "withdrawAmount": 3868639.7262805086,
                    "exchangeRate": 0.000056479717260637676,
                    "totalFee": 203612.61717265836
                }
            },
            "quoteHistory": {
                "refreshCount": 0,
                "orderCreationQuote": {
                    "isRefreshed": false,
                    "usedQuotes": {
                        "sourceCurrency": "EUR",
                        "sourceAmount": 200,
                        "sourceAmountInUsd": 233.45,
                        "sourceCurrencyType": "fiat",
                        "destinationCurrency": "USDC",
                        "destinationAmount": 229.999661,
                        "destinationAmountInUsd": 229.95,
                        "destinationCurrencyType": "crypto",
                        "conversionRate": 1.1675109716843564,
                        "minLimit": 2,
                        "maxLimit": 85669.94,
                        "direction": "forward",
                        "processingFee": 3,
                        "processingFeeRate": 0.015,
                        "customerFee": 0,
                        "customerFeeRate": 0,
                        "rrFeeRate": 0,
                        "discount": 0,
                        "discountRate": 0,
                        "additionalFee": 0,
                        "fixedFee": {
                            "totalFixedFees": 0,
                            "totalFixedTfFees": 0,
                            "totalFixedCxFees": 0,
                            "fixedFeesCurrency": "",
                            "fixedFeeDetails": {
                                "baseFeeFixedRate": 0,
                                "tfFeeFixedRate": 0,
                                "cxFeeFixedRate": 0,
                                "currency": ""
                            }
                        },
                        "totalFee": 3,
                        "feeMode": "percentage",
                        "rateType": "live",
                        "quoteId": "QUOTE-f292068d-da6e-4cd4-9d03-acf7f43155e9"
                    }
                }
            },
            "settlements": {
                "settlementAccountId": "SA-260824123100335193180713031",
                "settlementType": "batch"
            }
        },
        "traceId": "77e075c7-12fb-4168-8dac-f433e1f05ab8"
    }



Note: Amount to be transferred can be passed in either source or destination.

Examples:

{
    "source": {
        "currency": "EUR",
        "amount": "100"
    },
    "destination": {
        "currency": "USDC"
    }
}
{
    "source": {
        "currency": "EUR"
    },
    "destination": {
        "currency": "USDC",
        "amount": "100"
    }
}
  1. Amount is sent in source object: In this case, user needs to do payin of 100 EUR. Amount of USDC that will be updated in the balance will be calculated (~105 USDC). (This is usually preferred)
  2. Amount is sent in destination object: In this case, 100 USDC will be added to the balance and amount of EUR that user needs to send will be calculated (~94.5 EUR).

Did this page help you?