该 SDK 允许您在 JavaScript 和 TypeScript 中使用 Changelly Fiat API。 JavaScript 开发人员将找到一个功能齐全的库,其中包含方便的功能,可以自动执行 Changelly 法定 API 中的所有方法调用;使用 TypeScript 的开发人员会发现严格类型的丰富定义。
笔记。如果您对 SDK 集成有任何疑问,请随时写信给我们:[email protected]。
本教程将引导您了解创建使用 Changelly Fiat API SDK 的项目的基础知识。
package.json
文件: > npm init --y
tsconfig.json
文件并获取对 NodeJS 的大多数内置类型的访问权限: > npm install typescript
> npx tsc --init
> npm install -D @types/node
> npm install @changelly/fiat-api-sdk-node
CHANGELLY_PRIVATE_KEY
和CHANGELLY_PUBLIC_KEY
这样它就不会被提交到源代码管理。index.ts
文件,以创建 Changelly Fiat API 客户端: import { ChangellyFiatClient } from "@changelly/fiat-api-sdk-node" ;
const client = new ChangellyFiatClient ( {
privateKey : process . env [ "CHANGELLY_PRIVATE_KEY" ] ,
publicKey : process . env [ "CHANGELLY_PUBLIC_KEY" ] ,
} ) ;
const providers = await client . getProviderList ( ) ;
const currencies = await client . getCurrencyList ( ) ;
console . log ( { providers , currencies } ) ;
Changelly Fiat API Node.js SDK 类。
创建 ChangellyFiatClient 实例。
new ChangellyFiatClient (
params : ChangellyFiatClientParams
) : ChangellyFiatClient
参数
返回ChangellyFiatClient
构建 X-Api-签名。
buildSignature (
params : ChangellyBuildSignatureParams
) : string ;
参数
返回字符串— Changelly X-Api-Signature
验证订单 X-Callback-Signature。
validateOrderCallbackSignature (
signature : string ,
orderId : string
) : boolean ;
参数
返回boolean — 回调签名是否有效?
向用户获取有关入口匝道提供商的更多信息。
getProviderList (
config ?: AxiosRequestConfig
) : Promise < ChangellyGetProviderListResponse [ ] > ;
参数
返回Promise<ChangellyGetProviderListResponse[]>
获取支持的加密货币和法定货币列表。
getCurrencyList (
params ?: ChangellyGetCurrencyListParams ,
config ?: AxiosRequestConfig
) : Promise < ChangellyGetCurrencyListResponse [ ] > ;
参数
返回Promise<ChangellyGetCurrencyListResponse[]>
获取支持加密货币购买的国家/地区列表。
getCountryAvailabilityList (
params ?: ChangellyGetCountryAvailabilityParams ,
config ?: AxiosRequestConfig
) : Promise < ChangellyGetCountryAvailabilityResponse [ ] > ;
参数
返回Promise<ChangellyGetCountryAvailabilityResponse[]>
获取来自入口匝道提供商的购买报价列表。
getOffers (
params : ChangellyGetOffersParams ,
config ?: AxiosRequestConfig
) : Promise < ChangellyGetOffersResponse [ ] > ;
参数
返回Promise<ChangellyGetOffersResponse[]>
创建加密货币采购订单并获取购买页面的重定向 URL。如果请求中未提供任何可选参数,则响应中将返回这些可选参数并带有“null”值。
createOrder (
data : ChangellyCreateOrderParams ,
config ?: AxiosRequestConfig
) : Promise < ChangellyCreateOrderResponse > ;
参数
返回Promise<ChangellyCreateOrderResponse[]>
检查给定的钱包地址和(可选)额外 ID 对于给定的货币是否有效。
validateWalletAddress (
data : ChangellyValidateWalletAddressParams ,
config ?: AxiosRequestConfig
) : Promise < ChangellyValidateWalletAddressResponse > ;
参数
返回Promise<ChangellyValidateWalletAddressResponse[]>
interface ChangellyFiatClientParams {
publicKey : string ;
privateKey : string ;
callbackPublicKey ?: string ;
baseUrl ?: string ;
}
特性
公钥 | 细绳 | Changelly 菲亚特 API 公钥。 |
私钥 | 细绳 | Changelly 菲亚特 API 私钥。 |
回调公钥 | 细绳 | (可选)Changelly Fiat API 回调公钥。 |
基本网址 | 细绳 | (可选)Changelly Fiat API 的基本 url。默认为 |
interface ChangellyBuildSignatureParams {
baseUrl ?: string ;
pathname : ChangellyRequestUrl | string ;
params ?:
| ChangellyGetCurrencyListParams
| ChangellyGetCountryAvailabilityParams
| ChangellyGetOffersParams ;
data ?: ChangellyCreateOrderParams | ChangellyValidateWalletAddressParams ;
}
特性
基本网址 | 细绳 | (可选)基本网址。默认为 |
路径名 | ChangellyRequestUrl |细绳 | 求地址。 |
参数 | ChangellyGetCurrencyListParams | ChangellyGetCurrencyListParams | ChangellyGetCountryAvailabilityParams | Changelly ChangellyGetOffersParams | (可选)请求查询参数。 |
数据 | ChangellyCreateOrderParams | 更改创建订单参数ChangellyValidateWalletAddressParams | (可选)请求正文参数。 |
interface ChangellyGetProviderListResponse {
code : ChangellyProvider ;
name : string ;
trustPilotRating : string ;
iconUrl : string ;
}
特性
代码 | Changelly提供者 | 入口匝道提供商代码。 |
姓名 | 细绳 | 入口匝道提供商的名称。 |
信任试点评级 | 细绳 | Trustpilot 上提供商的评级。 |
图标网址 | 细绳 | 入口匝道提供商图标的 URL。 |
interface ChangellyGetCurrencyListParams {
type ?: ChangellyCurrency ;
providerCode ?: ChangellyProvider ;
}
特性
类型 | 货币变化 | (可选)货币类型。如果未指定货币类型,端点将同时返回法定货币和加密货币。 |
提供商代码 | Changelly提供者 | (可选)您要查看其货币的提供商。如果未指定 On-Ramp 提供商代码,端点将返回所有提供商支持的货币。 |
interface ChangellyGetCurrencyListResponse {
ticker : string ;
name : string ;
type : ChangellyCurrency ;
extraIdName : string | null ;
iconUrl : string ;
precision : string ;
}
特性
股票行情 | 细绳 | 大写的货币代码。它是货币的唯一标识符。 |
姓名 | 细绳 | 您可以在界面中指定的货币名称。 |
类型 | 货币变化 | 货币类型。 |
额外ID名称 | 字符串|无效的 | 加密货币的额外ID名称,例如“Memo”。以下货币需要:XRP、XLM、EOS、BNB。对于没有额外 ID 的法定货币和加密货币,extraIdName 等于 null。如果币种有额外的ID,您需要在对 |
图标网址 | 细绳 | 货币图标的 URL。 |
精确 | 细绳 | 货币精度。对于法定货币,它始终等于 2。 |
interface ChangellyGetCountryAvailabilityParams {
providerCode ?: ChangellyProvider ;
}
特性
(可选)提供商代码 | Changelly提供者 | (可选)您要查看其国家/地区的提供商。如果未指定入站提供商代码,终端将返回所有提供商支持的国家/地区。 |
interface ChangellyGetCountryAvailabilityResponse {
code : ChangellyProvider ;
name : string ;
states ?: ChangellyState [ ] ;
}
特性
代码 | Changelly提供者 | 入口匝道提供商代码。 |
姓名 | 细绳 | 入口匝道提供商的名称。 |
州 | 改变状态[] | (可选)美国各州。如果国家/地区代码是 US,则返回。 |
interface ChangellyGetOffersParams {
providerCode ?: ChangellyProvider ;
externalUserId ?: string ;
currencyFrom : string ;
currencyTo : string ;
amountFrom : string ;
country : string ;
state ?: string ;
ip ?: string ;
}
特性
提供商代码 | Changelly提供者 | (可选)入口匝道提供商代码。 |
外部用户ID | 细绳 | (可选)您提供的用户 ID。 |
货币来源 | 细绳 | 大写的收款货币代码。 |
货币至 | 细绳 | 大写的支付货币代码。 |
金额来自 | 细绳 | 用户要支付的货币数量。 |
国家 | 细绳 | 国家/地区 ISO 3166-1 代码 (Alpha-2)。 |
状态 | 细绳 | (可选)注明 ISO 3166-2 代码。如果提供的国家/地区是美国,则为必填项。 |
ip | 细绳 | (可选)用户的 IP 地址。 |
可以成功,也可以失败。
interface Offer {
providerCode : ChangellyProvider ;
rate : string ;
invertedRate : string ;
fee : string ;
amountFrom : string ;
amountExpectedTo : string ;
paymentMethodOffers : ChangellyPaymentMethodOffer [ ] ;
}
特性
提供商代码 | Changelly提供者 | 入口匝道提供商代码。 |
速度 | 细绳 | 所有付款方式中最优惠的购买率。该价格包含所有费用。 |
反转率 | 细绳 | 购买率倒挂。 |
费用 | 细绳 | 所有支付方式中购买总费用的最低值。 |
金额来自 | 细绳 | 用户要支付的货币数量。 |
预计金额 | 细绳 | 用户购买后预计获得的所有支付方式中最大金额的资金。 |
付款方式优惠 | ChangellyPaymentMethodOffer [] | 每种可用付款类型的购买详细信息。稍后将推出“卡”以外的付款方式。 |
interface Offer {
providerCode : ChangellyProvider ;
errorType :
| ChangellyErrorType . Timeout
| ChangellyErrorType . Unavailable
| ChangellyErrorType . Limits
| ChangellyErrorType . Country
| ChangellyErrorType . State
| ChangellyErrorType . Currency
| ChangellyErrorType . PaymentMethod
| ChangellyErrorType . InvalidOffer ;
errorMessage : string ;
errorDetails : ChangellyErrorDetails [ ] | null ;
}
特性
提供商代码 | Changelly提供者 | 入口匝道提供商代码。 |
错误类型 | ChangellyErrorType (超时、不可用、限制、国家/地区、州、货币、付款方式、InvalidOffer) | 错误类型。 |
错误信息 | 细绳 | 错误信息。 |
错误详情 | ChangellyError详细信息[] |无效的 | 错误详细信息。如果错误不包含详细信息, |
type ChangellyCreateOrderParams = {
externalOrderId : string ;
externalUserId : string ;
providerCode : ChangellyProvider ;
currencyFrom : string ;
currencyTo : string ;
amountFrom : string ;
country : string ;
state ?: string ;
ip ?: string ;
walletAddress : string ;
walletExtraId ?: string ;
paymentMethod ?: ChangellyPaymentMethod ;
userAgent ?: string ;
metadata ?: Record < string , unknown > ;
} ;
特性
外部订单ID | 细绳 | 您提供的订单 ID。 |
外部用户ID | 细绳 | 您提供的用户 ID。 |
提供商代码 | Changelly提供者 | 入口匝道提供商代码。 |
货币来源 | 细绳 | 大写的收款货币代码。 |
货币至 | 细绳 | 大写的支付货币代码。 |
金额来自 | 细绳 | 用户要支付的货币数量。 |
国家 | 细绳 | 国家/地区 ISO 3166-1 代码 (Alpha-2)。 |
状态 | 细绳 | (可选)注明 ISO 3166-2 代码。如果提供的国家/地区是美国,则为必填项。 |
ip | 细绳 | (可选)用户的 IP 地址。 |
钱包地址 | 细绳 | 收件人钱包地址。以下是该参数的 2 个简单用例:
|
钱包额外ID | 细绳 | (可选)使用附加 ID 进行交易处理的货币钱包地址所需的属性(XRP、XLM、EOS、BNB)。 |
付款方式 | 更改付款方式 | (可选)付款方式代码。 |
用户代理 | 细绳 | (可选)用户代理。 |
元数据 | 记录<字符串,未知> | (可选)元数据对象,其中可以包含您需要的任何参数。 |
interface ChangellyCreateOrderResponse {
redirectUrl : string ;
orderId : string ;
externalUserId : string ;
externalOrderId : string ;
providerCode : ChangellyProvider ;
currencyFrom : string ;
currencyTo : string ;
amountFrom : string ;
country : string ;
state : string | null ;
ip : string | null ;
walletAddress : string ;
walletExtraId : string | null ;
paymentMethod : ChangellyPaymentMethod | null ;
userAgent : string | null ;
metadata : Record < string , unknown > | null ;
createdAt : string ;
}
特性
重定向网址 | 细绳 | 提供商购买页面的 URL。 |
订单号 | 细绳 | 由 Fiat API 提供的内部订单 ID。 |
外部用户ID | 细绳 | 您提供的用户 ID。 |
外部订单ID | 细绳 | 您提供的订单 ID。 |
提供商代码 | Changelly提供者 | 入口匝道提供商代码。 |
货币来源 | 细绳 | 大写的收款货币代码。 |
货币至 | 细绳 | 大写的支付货币代码。 |
金额来自 | 细绳 | 用户要支付的货币数量。 |
国家 | 细绳 | 国家/地区 ISO 3166-1 代码 (Alpha-2)。 |
状态 | 字符串|无效的 | 注明 ISO 3166-2 代码。如果提供的国家/地区不是美国,则将为空。 |
ip | 字符串|无效的 | 用户的IP地址。 |
钱包地址 | 细绳 | 收件人钱包地址。 |
钱包额外ID | 字符串|无效的 | 使用附加 ID 进行交易处理的货币钱包地址所需的属性(XRP、XLM、EOS、BNB)。 |
付款方式 | 更改付款方式|无效的 | 付款方式代码。 |
用户代理 | 字符串|无效的 | 用户代理。 |
元数据 | 记录<字符串,未知> |无效的 | 元数据对象,其中可以包含您需要的任何参数。如果您未在请求中提供元数据对象,则响应中的元数据将返回 null。如果在请求中指定空对象,则响应中将返回空对象。 |
创建于 | 细绳 | ISO 8601 格式的时间。 |
interface ChangellyValidateWalletAddressParams {
currency : string ;
walletAddress : string ;
walletExtraId ?: string ;
}
特性
货币 | 细绳 | 大写的加密货币代码。 |
钱包地址 | 细绳 | 收件人钱包地址。 |
钱包额外ID | 细绳 | (可选)使用附加 ID 进行交易处理的货币钱包地址所需的属性(XRP、XLM、EOS、BNB)。 |
interface ChangellyValidateWalletAddressResponse {
result : boolean ;
cause : "walletAddress" | "walletExtraId" | null ;
}
特性
结果 | 布尔值 | 如果钱包地址或额外 ID 不正确,则为 false。 |
原因 | “钱包地址”| “钱包额外ID”|无效的 | 指定钱包地址或额外ID是否错误。如果结果为真,则 Cause 等于 null。 |
interface ChangellyState {
code : string ;
name : string ;
}
特性
代码 | 细绳 | 注明 ISO 3166-2 代码。 |
姓名 | 细绳 | 州名。 |
interface ChangellyPaymentMethodOffer {
amountExpectedTo : string ;
method : ChangellyPaymentMethod ;
methodName : string ;
invertedRate : string ;
fee : string ;
}
特性
预计金额 | 细绳 | 用户购买后预计获得的资金金额。 |
方法 | 更改付款方式 | 付款方式代码。 |
方法名 | 细绳 | 付款方式名称。 |
反转率 | 细绳 | 当前购买费率,包括所有费用。 |
费用 | 细绳 | 购买的总费用。 |
interface ChangellyErrorDetails {
cause : string ;
value : string ;
}
特性
原因 | 细绳 | 错误原因。例如,它可以等于验证错误类型缺少的请求参数。 |
价值 | 细绳 | 错误值。 |
enum ChangellyRequestUrl {
ProvderList = "/v1/providers" ,
CurrencyList = "/v1/currencies" ,
CountryAvailability = "/v1/available-countries" ,
GetOffers = "/v1/offers" ,
CreateOrder = "/v1/orders" ,
ValidateWalletAddress = "/v1/validate-address" ,
}
会员
enum ChangellyProvider {
Moonpay = "moonpay" ,
Banxa = "banxa" ,
Wert = "wert" ,
}
会员
enum ChangellyCurrency {
Crypto = "crypto" ,
Fiat = "fiat"