SDK นี้ช่วยให้คุณทำงานกับ Changelly Fiat API ใน JavaScript และ TypeScript นักพัฒนา JavaScript จะพบกับไลบรารีที่มีคุณลักษณะครบถ้วนพร้อมฟังก์ชันที่สะดวกสบายในการเรียกเมธอดทั้งหมดโดยอัตโนมัติภายใน Changelly fiat 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 } ) ;
คลาส SDK Changelly Fiat API Node.js
สร้างอินสแตนซ์ 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 ;
พารามิเตอร์
ส่งกลับ บูลีน - ลายเซ็นการโทรกลับถูกต้องหรือไม่
รับข้อมูลเพิ่มเติมเกี่ยวกับผู้ให้บริการ On-Ramp ให้กับผู้ใช้
getProviderList (
config ?: AxiosRequestConfig
) : Promise < ChangellyGetProviderListResponse [ ] > ;
พารามิเตอร์
ส่งกลับ สัญญา <ChangellyGetProviderListResponse[]>
รับรายการ cryptos และสกุลเงิน fiat ที่รองรับ
getCurrencyList (
params ?: ChangellyGetCurrencyListParams ,
config ?: AxiosRequestConfig
) : Promise < ChangellyGetCurrencyListResponse [ ] > ;
พารามิเตอร์
ส่งคืน สัญญา <ChangellyGetCurrencyListResponse[]>
รับรายชื่อประเทศที่รองรับการซื้อ crypto
getCountryAvailabilityList (
params ?: ChangellyGetCountryAvailabilityParams ,
config ?: AxiosRequestConfig
) : Promise < ChangellyGetCountryAvailabilityResponse [ ] > ;
พารามิเตอร์
ส่งคืน สัญญา <ChangellyGetCountryAvailabilityResponse[]>
รับรายการข้อเสนอการซื้อจากผู้ให้บริการ On-Ramp
getOffers (
params : ChangellyGetOffersParams ,
config ?: AxiosRequestConfig
) : Promise < ChangellyGetOffersResponse [ ] > ;
พารามิเตอร์
ส่งคืน สัญญา<ChangellyGetOffersResponse[]>
สร้างใบสั่งซื้อ crypto และรับ URL เปลี่ยนเส้นทางไปยังหน้าการซื้อ หากไม่มีการระบุพารามิเตอร์ทางเลือกใดๆ ในคำขอ พารามิเตอร์เหล่านั้นจะถูกส่งกลับพร้อมกับค่า "null" ในการตอบกลับ
createOrder (
data : ChangellyCreateOrderParams ,
config ?: AxiosRequestConfig
) : Promise < ChangellyCreateOrderResponse > ;
พารามิเตอร์
ส่งคืน สัญญา <ChangellyCreateOrderResponse[]>
ตรวจสอบว่าที่อยู่กระเป๋าเงินที่ระบุและรหัสพิเศษ (ไม่บังคับ) ใช้ได้กับสกุลเงินที่กำหนดหรือไม่
validateWalletAddress (
data : ChangellyValidateWalletAddressParams ,
config ?: AxiosRequestConfig
) : Promise < ChangellyValidateWalletAddressResponse > ;
พารามิเตอร์
ส่งคืน สัญญา <ChangellyValidateWalletAddressResponse[]>
interface ChangellyFiatClientParams {
publicKey : string ;
privateKey : string ;
callbackPublicKey ?: string ;
baseUrl ?: string ;
}
คุณสมบัติ
สาธารณะคีย์ | เชือก | รหัสสาธารณะ Changelly Fiat API |
คีย์ส่วนตัว | เชือก | คีย์ส่วนตัว Changelly Fiat API |
โทรกลับPublicKey | เชือก | (ไม่บังคับ) รหัสสาธารณะการเรียกกลับ Changelly Fiat API |
ฐานUrl | เชือก | (ไม่บังคับ) URL พื้นฐานของ Changelly Fiat API |
interface ChangellyBuildSignatureParams {
baseUrl ?: string ;
pathname : ChangellyRequestUrl | string ;
params ?:
| ChangellyGetCurrencyListParams
| ChangellyGetCountryAvailabilityParams
| ChangellyGetOffersParams ;
data ?: ChangellyCreateOrderParams | ChangellyValidateWalletAddressParams ;
}
คุณสมบัติ
ฐานUrl | เชือก | (ไม่บังคับ) URL พื้นฐาน |
ชื่อพาธ | ChangellyRequestUrl | เชือก | ขอที่อยู่. |
พารามิเตอร์ | ChangellyGetCurrencyListParams | ChangellyGetCountryAvailabilityParams | ChangellyGetOffersParams | (ไม่บังคับ) ขอพารามิเตอร์การสืบค้น |
ข้อมูล | ChangellyCreateOrderParams | ChangellyValidateWalletAddressParams | (ไม่บังคับ) ขอพารามิเตอร์เนื้อหา |
interface ChangellyGetProviderListResponse {
code : ChangellyProvider ;
name : string ;
trustPilotRating : string ;
iconUrl : string ;
}
คุณสมบัติ
รหัส | ChangellyProvider | รหัสผู้ให้บริการ On-Ramp |
ชื่อ | เชือก | ชื่อผู้ให้บริการ On-Ramp |
ความไว้วางใจ PilotRating | เชือก | การให้คะแนนของผู้ให้บริการใน Trustpilot |
ไอคอนUrl | เชือก | URL ของไอคอนผู้ให้บริการ On-Ramp |
interface ChangellyGetCurrencyListParams {
type ?: ChangellyCurrency ;
providerCode ?: ChangellyProvider ;
}
คุณสมบัติ
พิมพ์ | ChangellyCurrency | (ไม่บังคับ) ประเภทของสกุลเงิน หากไม่ได้ระบุประเภทสกุลเงิน จุดสิ้นสุดจะส่งคืนทั้งสกุลเงินคำสั่งและสกุลเงินดิจิทัล |
รหัสผู้ให้บริการ | ChangellyProvider | (ไม่บังคับ) ผู้ให้บริการที่มีสกุลเงินที่คุณต้องการดู หากไม่ได้ระบุรหัสผู้ให้บริการ On-Ramp อุปกรณ์ปลายทางจะส่งคืนสกุลเงินที่รองรับของผู้ให้บริการทั้งหมด |
interface ChangellyGetCurrencyListResponse {
ticker : string ;
name : string ;
type : ChangellyCurrency ;
extraIdName : string | null ;
iconUrl : string ;
precision : string ;
}
คุณสมบัติ
สัญลักษณ์ | เชือก | สัญลักษณ์สกุลเงินเป็นตัวพิมพ์ใหญ่ มันเป็นตัวระบุเฉพาะของสกุลเงิน |
ชื่อ | เชือก | ชื่อสกุลเงินที่คุณสามารถระบุในอินเทอร์เฟซของคุณ |
พิมพ์ | ChangellyCurrency | ประเภทสกุลเงิน |
รหัสพิเศษชื่อ | สตริง | โมฆะ | ชื่อ ID พิเศษของสกุลเงินดิจิทัล เช่น "บันทึกช่วยจำ" จำเป็นสำหรับสกุลเงินต่อไปนี้: XRP, XLM, EOS, BNB สำหรับสกุลเงินทั่วไปและสกุลเงินดิจิทัลที่ไม่มี ID เพิ่มเติม extraIdName จะเป็นโมฆะ หากสกุลเงินมี ID เพิ่มเติม คุณต้องระบุพารามิเตอร์ |
ไอคอนUrl | เชือก | URL ของไอคอนสกุลเงิน |
ความแม่นยำ | เชือก | ความแม่นยำของสกุลเงิน สำหรับสกุลเงิน fiat จะเท่ากับ 2 เสมอ |
interface ChangellyGetCountryAvailabilityParams {
providerCode ?: ChangellyProvider ;
}
คุณสมบัติ
(ไม่บังคับ) providerCode | ChangellyProvider | (ไม่บังคับ) ผู้ให้บริการที่มีประเทศที่คุณต้องการดู หากไม่ได้ระบุรหัสผู้ให้บริการ On-Ramp อุปกรณ์ปลายทางจะส่งคืนประเทศที่รองรับของผู้ให้บริการทั้งหมด |
interface ChangellyGetCountryAvailabilityResponse {
code : ChangellyProvider ;
name : string ;
states ?: ChangellyState [ ] ;
}
คุณสมบัติ
รหัส | ChangellyProvider | รหัสผู้ให้บริการ On-Ramp |
ชื่อ | เชือก | ชื่อผู้ให้บริการ On-Ramp |
รัฐ | สถานะการเปลี่ยนแปลง [] | (ไม่บังคับ) รัฐของสหรัฐอเมริกา จะถูกส่งกลับหากรหัสของประเทศคือ US |
interface ChangellyGetOffersParams {
providerCode ?: ChangellyProvider ;
externalUserId ?: string ;
currencyFrom : string ;
currencyTo : string ;
amountFrom : string ;
country : string ;
state ?: string ;
ip ?: string ;
}
คุณสมบัติ
รหัสผู้ให้บริการ | ChangellyProvider | (ทางเลือก) รหัสผู้ให้บริการ On-Ramp |
รหัสผู้ใช้ภายนอก | เชือก | (ไม่บังคับ) ID ผู้ใช้ที่คุณให้ไว้ |
สกุลเงินจาก | เชือก | สัญลักษณ์ของสกุลเงินที่ชำระเป็นตัวพิมพ์ใหญ่ |
สกุลเงินถึง | เชือก | สัญลักษณ์ของสกุลเงินการจ่ายเงินเป็นตัวพิมพ์ใหญ่ |
จำนวนเงินจาก | เชือก | จำนวนสกุลเงินที่ผู้ใช้จะจ่าย |
ประเทศ | เชือก | รหัสประเทศ ISO 3166-1 (Alpha-2) |
สถานะ | เชือก | (ไม่บังคับ) ระบุรหัส ISO 3166-2 จำเป็นหากประเทศที่ระบุคือสหรัฐอเมริกา |
ไอพี | เชือก | (ไม่บังคับ) ที่อยู่ IP ของผู้ใช้ |
สามารถสำเร็จและล้มเหลวได้
interface Offer {
providerCode : ChangellyProvider ;
rate : string ;
invertedRate : string ;
fee : string ;
amountFrom : string ;
amountExpectedTo : string ;
paymentMethodOffers : ChangellyPaymentMethodOffer [ ] ;
}
คุณสมบัติ
รหัสผู้ให้บริการ | ChangellyProvider | รหัสผู้ให้บริการ On-Ramp |
ประเมิน | เชือก | อัตราการซื้อที่ดีที่สุดในบรรดาวิธีการชำระเงินทั้งหมด อัตรานี้รวมค่าธรรมเนียมทั้งหมดแล้ว |
อัตรากลับด้าน | เชือก | อัตราการซื้อกลับหัว |
ค่าธรรมเนียม | เชือก | มูลค่าต่ำสุดของค่าธรรมเนียมการซื้อทั้งหมดในบรรดาวิธีการชำระเงินทั้งหมด |
จำนวนเงินจาก | เชือก | จำนวนสกุลเงินที่ผู้ใช้จะจ่าย |
จำนวนเงินที่คาดว่าจะถึง | เชือก | จำนวนเงินที่ใหญ่ที่สุดในบรรดาวิธีการชำระเงินทั้งหมดที่ผู้ใช้คาดว่าจะได้รับหลังการซื้อ |
วิธีการชำระเงินข้อเสนอ | Changellyวิธีการชำระเงินเสนอ [] | รายละเอียดการซื้อสำหรับการชำระเงินแต่ละประเภทที่มี วิธีการชำระเงินอื่นที่ไม่ใช่ "บัตร" จะสามารถใช้ได้ในภายหลัง |
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 ;
}
คุณสมบัติ
รหัสผู้ให้บริการ | ChangellyProvider | รหัสผู้ให้บริการ On-Ramp |
ประเภทข้อผิดพลาด | ChangellyErrorType (หมดเวลา, ไม่พร้อมใช้งาน, ขีดจำกัด, ประเทศ, รัฐ, สกุลเงิน, วิธีการชำระเงิน, InvalidOffer) | ประเภทข้อผิดพลาด |
ข้อความแสดงข้อผิดพลาด | เชือก | ข้อความแสดงข้อผิดพลาด |
รายละเอียดข้อผิดพลาด | ChangellyErrorDetails [] | โมฆะ | รายละเอียดข้อผิดพลาด หากข้อผิดพลาดไม่มีรายละเอียด |
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 ผู้ใช้ที่คุณให้ไว้ |
รหัสผู้ให้บริการ | ChangellyProvider | รหัสผู้ให้บริการ On-Ramp |
สกุลเงินจาก | เชือก | สัญลักษณ์ของสกุลเงินที่ชำระเป็นตัวพิมพ์ใหญ่ |
สกุลเงินถึง | เชือก | สัญลักษณ์ของสกุลเงินการจ่ายเงินเป็นตัวพิมพ์ใหญ่ |
จำนวนเงินจาก | เชือก | จำนวนสกุลเงินที่ผู้ใช้จะจ่าย |
ประเทศ | เชือก | รหัสประเทศ ISO 3166-1 (Alpha-2) |
สถานะ | เชือก | (ไม่บังคับ) ระบุรหัส ISO 3166-2 จำเป็นหากประเทศที่ระบุคือสหรัฐอเมริกา |
ไอพี | เชือก | (ไม่บังคับ) ที่อยู่ IP ของผู้ใช้ |
ที่อยู่กระเป๋าสตางค์ | เชือก | ที่อยู่กระเป๋าสตางค์ของผู้รับ ต่อไปนี้เป็นกรณีการใช้งานง่ายๆ 2 กรณีของพารามิเตอร์นี้:
|
walletExtraId | เชือก | (ไม่บังคับ) คุณสมบัติที่จำเป็นสำหรับที่อยู่กระเป๋าสตางค์ของสกุลเงินที่ใช้ ID เพิ่มเติมสำหรับการประมวลผลธุรกรรม (XRP, XLM, EOS, BNB) |
วิธีการชำระเงิน | Changellyวิธีการชำระเงิน | (ไม่บังคับ) รหัสวิธีการชำระเงิน |
userAgent | เชือก | (ไม่บังคับ) ตัวแทนผู้ใช้ |
ข้อมูลเมตา | บันทึก<สตริง, ไม่ทราบ> | (ไม่บังคับ) ออบเจ็กต์ข้อมูลเมตา ซึ่งสามารถประกอบด้วยพารามิเตอร์ใดๆ ที่คุณต้องการ |
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 | เชือก | URL ไปยังหน้าการซื้อของผู้ให้บริการ |
รหัสคำสั่งซื้อ | เชือก | รหัสคำสั่งซื้อภายในจัดทำโดย Fiat API |
รหัสผู้ใช้ภายนอก | เชือก | ID ผู้ใช้ที่คุณให้ไว้ |
รหัสคำสั่งซื้อภายนอก | เชือก | รหัสคำสั่งซื้อที่คุณให้มา |
รหัสผู้ให้บริการ | ChangellyProvider | รหัสผู้ให้บริการ On-Ramp |
สกุลเงินจาก | เชือก | สัญลักษณ์ของสกุลเงินที่ชำระเป็นตัวพิมพ์ใหญ่ |
สกุลเงินถึง | เชือก | สัญลักษณ์ของสกุลเงินการจ่ายเงินเป็นตัวพิมพ์ใหญ่ |
จำนวนเงินจาก | เชือก | จำนวนสกุลเงินที่ผู้ใช้จะจ่าย |
ประเทศ | เชือก | รหัสประเทศ ISO 3166-1 (Alpha-2) |
สถานะ | สตริง | โมฆะ | ระบุรหัส ISO 3166-2 จะเป็นโมฆะหากประเทศที่ระบุไม่ใช่สหรัฐอเมริกา |
ไอพี | สตริง | โมฆะ | ที่อยู่ IP ของผู้ใช้ |
ที่อยู่กระเป๋าสตางค์ | เชือก | ที่อยู่กระเป๋าสตางค์ของผู้รับ |
walletExtraId | สตริง | โมฆะ | คุณสมบัติที่จำเป็นสำหรับที่อยู่กระเป๋าเงินของสกุลเงินที่ใช้ ID เพิ่มเติมสำหรับการประมวลผลธุรกรรม (XRP, XLM, EOS, BNB) |
วิธีการชำระเงิน | Changellyวิธีการชำระเงิน | โมฆะ | รหัสวิธีการชำระเงิน |
userAgent | สตริง | โมฆะ | ตัวแทนผู้ใช้ |
ข้อมูลเมตา | บันทึก<string, ไม่ทราบ> | โมฆะ | ออบเจ็กต์ข้อมูลเมตา ซึ่งสามารถประกอบด้วยพารามิเตอร์ใดๆ ที่คุณต้องการ หากคุณไม่ได้ระบุออบเจ็กต์ข้อมูลเมตาในคำขอ ค่า null จะถูกส่งกลับในข้อมูลเมตาในการตอบกลับ หากคุณระบุออบเจ็กต์ว่างในคำขอ ออบเจ็กต์ว่างจะถูกส่งกลับในการตอบกลับ |
สร้างขึ้นที่ | เชือก | เวลาในรูปแบบ ISO 8601 |
interface ChangellyValidateWalletAddressParams {
currency : string ;
walletAddress : string ;
walletExtraId ?: string ;
}
คุณสมบัติ
สกุลเงิน | เชือก | สัญลักษณ์ Cryptocurrency เป็นตัวพิมพ์ใหญ่ |
ที่อยู่กระเป๋าสตางค์ | เชือก | ที่อยู่กระเป๋าสตางค์ของผู้รับ |
walletExtraId | เชือก | (ไม่บังคับ) คุณสมบัติที่จำเป็นสำหรับที่อยู่กระเป๋าเงินของสกุลเงินที่ใช้ ID เพิ่มเติมสำหรับการประมวลผลธุรกรรม (XRP, XLM, EOS, BNB) |
interface ChangellyValidateWalletAddressResponse {
result : boolean ;
cause : "walletAddress" | "walletExtraId" | null ;
}
คุณสมบัติ
ผลลัพธ์ | บูลีน | เป็นเท็จหากที่อยู่กระเป๋าเงินหรือรหัสพิเศษไม่ถูกต้อง |
สาเหตุ | "ที่อยู่กระเป๋าเงิน" | "walletExtraId" | โมฆะ | ระบุว่าที่อยู่กระเป๋าเงินหรือ ID พิเศษไม่ถูกต้อง หากผลลัพธ์เป็นจริง เหตุจะเท่ากับโมฆะ |
interface ChangellyState {
code : string ;
name : string ;
}
คุณสมบัติ
รหัส | เชือก | ระบุรหัส ISO 3166-2 |
ชื่อ | เชือก | ชื่อรัฐ. |
interface ChangellyPaymentMethodOffer {
amountExpectedTo : string ;
method : ChangellyPaymentMethod ;
methodName : string ;
invertedRate : string ;
fee : string ;
}
คุณสมบัติ
จำนวนเงินที่คาดว่าจะถึง | เชือก | จำนวนเงินที่ผู้ใช้คาดว่าจะได้รับหลังการซื้อ |
วิธี | Changellyวิธีการชำระเงิน | รหัสวิธีการชำระเงิน |
ชื่อวิธีการ | เชือก | ชื่อวิธีการชำระเงิน |
อัตรากลับด้าน | เชือก | อัตราการซื้อปัจจุบันซึ่งรวมถึงค่าธรรมเนียมทั้งหมดแล้ว |
ค่าธรรมเนียม | เชือก | ค่าธรรมเนียมรวมในการซื้อ |
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"