शुरू करने से पहले
आपको उसी customer के लिए एक ready pay-in capability और ready issued destination wallet चाहिए। किसी भी open work को Capabilities और tasks के माध्यम से पूरा करें, फिर दोनों resources को पुन: प्राप्त करें।1. एक quote बनाएँ
POST /v3/quotes के साथ price बनाएँ। ये headers भेजें:
data.id को QUOTE_ID के रूप में संग्रहीत करें। लौटाए गए amounts और fees को प्रस्तुत करें, बजाय rate से उन्हें फिर से बनाने के।
2. Quote execute करें
Expiry से पहले वर्तमान quote कोPOST /v3/transfers के साथ execute करें। इस इच्छित transfer के लिए एक नई key का उपयोग करें:
data.id को TRANSFER_ID के रूप में संग्रहीत करें और इसकी वर्तमान state बनाए रखें।
Card और Apple Pay के लिए return URL जोड़ें
Card या Apple Pay quote के लिए, आप उसी request में एक वैकल्पिकredirectUrl शामिल कर सकते हैं। जब customer hosted checkout पूरा कर लेता है, तो checkout page इस URL को खोलता है ताकि customer आपके app में वापस आ सके।
redirectUrl अधिकतम 2048 characters का एक absolute HTTPS URL होना चाहिए और इसमें embedded credentials नहीं होने चाहिए। ऐसे quote के लिए redirectUrl भेजना जो return navigation को support नहीं करता, ignore होने के बजाय validation में fail हो जाता है।
redirectUrl पर पहुँचना केवल browser navigation है। यह पुष्टि नहीं करता कि payment या transfer पूरा हो गया है। Completion को step 4 में transfer state से और webhook events से निर्धारित करें।
Card quote के लिए checkout method पहले से चुनें
Card quote के लिए, आप उसी request में एक वैकल्पिकcheckoutMethod शामिल कर सकते हैं, ताकि यह चुना जा सके कि hosted checkout किस funding option पर खुले। वर्तमान मान card, apple_pay, google_pay, cash_app, sepa और blik हैं। यह list open है और बढ़ सकती है, इसलिए transfer reads में ऐसे मानों को tolerate करें जिन्हें आप नहीं पहचानते। जब request की गई method customer और उसके device के लिए उपलब्ध होती है, तो checkout उसी method पर खुलता है, और customer फिर भी checkout द्वारा दी गई कोई भी अन्य method चुन सकता है। default pre-selection बनाए रखने के लिए इसे छोड़ दें।
checkoutMethod एक preference है, guarantee नहीं। उपलब्धता customer, उसके device और checkout पर निर्भर करती है, इसलिए किसी method को request करने से वह उपलब्ध नहीं हो जाती। यहाँ sepa और blik card checkout के अंदर के funding options हैं, Swipelux की capabilities, rails या accounts नहीं। यह pre-selection quote की capability, amounts या fees को नहीं बदलती, और checkout अंतिम fees की पुष्टि करता है। Transfer reads request किया गया मान लौटाते हैं; वे यह पुष्टि नहीं करते कि customer ने कौन सी method इस्तेमाल की। ऐसे quote के लिए checkoutMethod भेजना जो card quote नहीं है, ignore होने के बजाय validation में fail हो जाता है, और उसी idempotency key के साथ replay में वही checkoutMethod भेजना होगा।
3. Funding instructions प्राप्त करें
GET /v3/transfers/{transferId}/instructions पढ़ें। लौटाए गए data.instructions variant को render करें, इसके type का अनुमान लगाए बिना।
ये details transfer-specific हैं। एक transfer के bank coordinates, code, hosted URL, amount, reference, या expiry को दूसरे pay-in के लिए कभी पुन: उपयोग न करें।
Bank instructions के लिए, जब reference.required true है, तो सटीक reference.value को bank coordinates के बगल में प्रदर्शित करें और इसे copyable बनाएँ। उसी instruction set से लौटाए गए amount और currency दिखाएँ।
एक issued bank account अलग है: यह बाद के deposits के लिए पुन: उपयोग करने योग्य details प्रदान करता है। जब वह इच्छित अनुभव हो तो Bank account जारी करें देखें।
4. Settlement track करें
Execution के बाद और प्रत्येक event के बादGET /v3/transfers/{transferId} पढ़ें। नवीनतम data.state से customer-facing status को drive करें।
जब transfer को किसी अन्य action की आवश्यकता हो तो data.stateDetail और data.openTaskIds का उपयोग करें। इसे एक अपेक्षित schedule से complete के रूप में मार्क न करें।
आगे, Webhooks जोड़ें और transfer status को तब तक synchronized रखें जब तक यह किसी ऐसे outcome तक न पहुँच जाए जिसे आपका product संभालता है।