Developer Questions

Ask a Question

Error connecting to Ripple API: Error: Error code 603, see XUMM Dev Console

Hi, I am trying to submit a payload request and getting error code 603. I am having trouble finding any documentation relating to the error codes. Can someone please help with what can cause this error code?

QR Scan Process

Hi , I have create backend apis for xumm signin and payment which i am doing using payload and in case of mobile app its working fine. now i have webgl app which is using same api but in that case return url is not working because when user redirect to deeplink and user scan from mobile after scane it redirect back in mobile browser , i want to keep user desktop browser close the current process and redirect back in my webgl appp. Please guide me this

Can I connect xrpl-txdata to TESTNET

while testing can I connect xrpl-txdata to the testnet I tried const Verify = new TxData(['wss://testnet.xrpl-labs.com']) and got MAX_LOOKUP_TIME_REACHED: Max. lookup time (for all endpoints) reached without receiving a valid response

Xumm Developer Education Center, Tutorial 24, minute 10:49 code gives an error.

Hi! I hope you are well, thanks for this support section! I'm Enigma Ridworld and I'm following the tutorial but: At Tutorial 24, minute 10:49, the output instead of showing the flags names (flagnames) it gives me this error: Object.keys(Flags[objectType]).forEach((flag) => { ^ TypeError: Cannot convert undefined or null to object Help! Tutorial 24: <https://www.youtube.com/watch?v=x0Yr6aOmyQ4> The testnet account which has 2 flags set was activated today at the time I was watching the tutorial, it's active, it's the following one: <https://test.bithomp.com/explorer/rGptETpqy3QMDSu52XhZNiLpiUCjcBoGfQ> Satish's code and my copy of his code (they look identical) gives through all the video the same results in all the steps Satish do, excpet this last one step. Can you help me? Thank you very much in advance! Enigma Ridworld

SwiftUI to XUMM direct deeplink

Hi All, I am authenticating first via OAUTH2 to avoid using the API secret to login to my custom application. However I am a bit lost as to how to avoid the app to first call the JWT URL which a URL page which contains the text open in XUMM and instead navigate directly to the XUMM application from my swift application. I have seen that you can share a payment link in whatsapp with the XRP address and amount[https://xumm.app/detect/request:rfdsfdsfsdfdsfdsfdsfdfsfsdfs?amount=10.56&clipboard=true](https://xumm.app/detect/request:rHNTXD6a7VfFzQK9bNMkX4kYD8nLjhgb32?amount=10.56&clipboard=true) Similarly are there available deeplinks to call the signin application or a list of such deeplinks which can be used?

Suddenly I keep getting this error from my login payload

Request failed with error: MAX_LOOKUP_TIME_REACHED: Max. lookup time (for all endpoints) reached without receiving a valid response. payload: { "submit": false, "txjson": { "TransactionType": "SignIn" }, "options": { "expire": 1 } } Any idea why this happens?

Xumm oath in swift app

Hi Weitze I am building an app which will utilise the oath from xumm to validate the user. This is being used on an ios app. My app has an app url Scheme of myapp://signin. <https://oauth2.xumm.app/auth?client_id={89bec275-ada5-4f2c-9860-bf7a27fc8f06}&redirect_uri=myapp://signin&response_type=token> If I run this from the phone where the app is installed it does not work. What is going wrong at the moment? Does the uri scheme needs to be registered with app developer in apple to enable https to uri linking?

currency error

I have everything set up on WordPress and my wallet. The only error I'm getting now is, "please change store currency" I found how to change the currency, but it's currently in Canadian dollars which I would still like to receive, but I would like to also receive XRP. thanks justin

Have hard time calling the XUMM api from my frontend

Goedemiddag :) So first let me start with the error I am getting in my visual studio code XUMM SDK: Running in browser Error occurred while processing payment: TypeError: Network request failed at <https://xumm.app/assets/cdn/xumm-sdk.min.js:15:38608> {stack: 'TypeError: Network request failed at http…/xumm.app/assets/cdn/xumm-sdk.min.js:15:38608', message: 'Unexpected response from XUMM API [POST:payload]'} Here is my HTML code: ```Text HTML <!DOCTYPE html> <html lang="en"> <head> <link rel="stylesheet" href="style.css"> </head> <body> <header> <div class="container"> <nav> <a href="index.html" class="brand">Core Values</a> <ul class="menu"> <li><a href="#">Home</a></li> <li><a href="#">Artworks</a></li> <li><a href="#">About</a></li> <li><a href="#">Learn More</a></li> <li><a href="#" class="btn btn-primary">Log in</a></li> </ul> <button class="menu-btn"> <i class="fas fa-bars"></i> </button> </nav> <div class="header-body"> <div> <p> Through the veils of self-exploration, vulnerability becomes strength, and we evolve with cosmic grace. </p> <span class="bar"></span> <h1>Buy NFTs</h1> </div> <div> <h1>Sell NFTs</h1> <span class="bar"></span> <p> Where shadows dance with enlightenment, we become alchemists of our destiny. </p> </div> </div> </div> <img src="file:///C:/Users/mmmil/Pictures/Nieuwe%20map/img/grid1-top.png" class="grid-img" alt="grid1-top"> </div> </header> <div class="container"> <img src="file:///C:/Users/mmmil/Pictures/Nieuwe%20map/img/grid1-bottom.png" class="grid-img" alt="grid1-bottom"> <section class="services"> <div class="heading"> <h2>What We Actually Do?</h2> <p> NFTs are revolutionizing the world by enabling digital ownership, empowering creators to monetize their work, transforming gaming and virtual real estate, and offering secure digital identity and credentials. They also impact finance, charity, and real-world asset tokenization while revolutionizing collectibles and intellectual property management. NFTs are reshaping industries and creating new possibilities across various sectors. Through the veils of self-exploration, vulnerability becomes strength, and we evolve with cosmic grace. </p> </div> <div class="cards"> <div class="card"> <img src="file:///C:/Users/mmmil/Pictures/Nieuwe%20map/img/wallet.png" alt="wallet"> <h3>Set up your wallet</h3> </div> <div class="card"> <img src="file:///C:/Users/mmmil/Pictures/Nieuwe%20map/img/camera.png" alt="camera"> <h3>Create your own collection</h3> <p> NFT's are transforming the way commerce is transacted. </p> </div> <div class="card"> <img src="file:///C:/Users/mmmil/Pictures/Nieuwe%20map/img/gift.png" alt="gift"> <h3>Add your NFTs</h3> <p> NFTs are changing the world. </p> </div> </div> </section> <section class="featured"> <div class="heading"> <h2>Featured Artworks</h2> </div> <div class="cards"> <div class="card"> <a href="#" onclick="handlePayment('Azul Colour Crystal', 20)"> <img class="art-img" src="file:///C:/Users/mmmil/Pictures/Nieuwe%20map/img/crystal1.jpg"> </a> <div class="light"></div> <h3 class="art-title">Azul Colour Crystal</h3> <div class="favourites"> <div class="favourites"> <img src="file:///C:/Users/mmmil/Pictures/Nieuwe%20map/img/user1.jpg" alt="artwork" /> <img src="file:///C:/Users/mmmil/Pictures/Nieuwe%20map/img/user2.jpg" alt="artwork" /> <img src="file:///C:/Users/mmmil/Pictures/Nieuwe%20map/img/user3.jpg" alt="artwork" /> <small>+2</small> </div> <div> <span>Favourite This</span> </div> <div class="bid"> <div> <p>Current Bid</p> <h3> <i class="fab fa-ripple"></i> 20XRP </h3> </div> <div> </div> </div> </div> </div> <div class="card"> <a href="#" onclick="handlePayment('Fire Balls', 100)"> <img class="art-img" src="file:///C:/Users/mmmil/Pictures/Nieuwe%20map/img/crystal2.jpg"> </a> <div class="light"></div> <h3 class="art-title">Fire Balls</h3> <div class="favourites"> <div class="favourites"> <img src="file:///C:/Users/mmmil/Pictures/Nieuwe%20map/img/user1.jpg" alt="artwork" /> <img src="file:///C:/Users/mmmil/Pictures/Nieuwe%20map/img/user2.jpg" alt="artwork" /> <img src="file:///C:/Users/mmmil/Pictures/Nieuwe%20map/img/user3.jpg" alt="artwork" /> <small>+2</small> </div> <div> <span>Favourite This</span> </div> <div class="bid"> <div> <p>Current Bid</p> <h3> <i class="fab fa-ripple"></i> 1000XRP </h3> </div> <div> </div> </div> </div> </div> <div class="card"> <a href="#" onclick="handlePayment('Emerald Colour Crystal', 20)"> <img class="art-img" src="file:///C:/Users/mmmil/Pictures/Nieuwe%20map/img/crystal3.jpg"> </a> <div class="light"></div> <h3 class="art-title">Emerald Colour Crystal</h3> <div class="favourites"> <div class="favourites"> <img src="file:///C:/Users/mmmil/Pictures/Nieuwe%20map/img/user1.jpg" alt="artwork" /> <img src="file:///C:/Users/mmmil/Pictures/Nieuwe%20map/img/user2.jpg" alt="artwork" /> <img src="file:///C:/Users/mmmil/Pictures/Nieuwe%20map/img/user3.jpg" alt="artwork" /> <small>+2</small> </div> <div> <span>Favourite This</span> </div> <div class="bid"> <div> <p>Current Bid</p> <h3> <i class="fab fa-ripple"></i> 20XRP </h3> </div> <div> </div> </div> </div> </div> </div> </section> <section class="explore"> <div class="grid"> <!-- Add grid items here --> </div> <h2>Explore our top artworks</h2> <p> "Step into a world of artistic wonders and discover our carefully curated selection of top artworks. From captivating masterpieces to cutting-edge creations, prepare to be mesmerized by the beauty, depth, and creativity on display. Unearth the essence of human expression and immerse yourself in a realm where art knows no bounds. Unleash your imagination and embark on an unforgettable journey through the realms of creativity." </p> </section> <section class="trial"> <h2>Get a free trial</h2> <p>"Unlock your path to personal growth with our NFT marketplace's free trial. Experience the transformative power of exclusive NFTs, designed to inspire, empower, and elevate your journey towards self-discovery. Embrace unique digital artworks and collectibles that hold profound meaning, connecting you to a community of like-minded individuals striving for personal development. Don't miss this opportunity to explore the future of art and personal growth, all at no cost with our limited-time free trial."</p> <a href="#" class="btn-primary">Join Us Now</a> </section> <footer> <div> <h2>Digital Agency</h2> <p>Our digital agency is driven and passionate about crafting exceptional digital solutions. With creativity and innovation at the core, we strive to deliver remarkable experiences that elevate brands and exceed expectations.</p> <hr /> <h3>Get our latest updates</h3> <form> <div class="input-wrap"> <input type="email" placeholder="Please enter your email address"> <button type="submit" class="btn btn-primary">Send</button> </div> </form> </div> <div> <h3>Company</h3> <ul> <li><a href="#about-us">About Us</a></li> <li><a href="#our-team">Our Team</a></li> <li><a href="#company-culture">Company Culture</a></li> <li><a href="#partnerships">Partnerships</a></li> <li><a href="#contact-us">Contact Us</a></li> </ul> <h3>Social Media</h3> <ul> <li><a href="#Facebook">Facebook</a></li> <li><a href="#Twitter">Twitter</a></li> <li><a href="#Telegram">Telegram</a></li> <li><a href="#Instagram">Instagram</a></li> <li><a href="#LinkedIn">LinkedIn</a></li> </ul> </div> </footer> </div> <script src="https://xumm.app/assets/cdn/xumm-sdk.min.js"></script> <script src="api.js"></script> </body> </html> ``` JavaScript Code: ```Text JavaScript const { XummSdk } = require('xumm-sdk'); const Sdk = new XummSdk('370c6e43-d3ed-4bd7-b644-9177f14250ce', 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX'); const handlePayment = async (artworkTitle, amount) => { try { const request = { "TransactionType": "Payment", "Destination": "rUjnffaez1ZqoH1CXS5G5tB4oiibhqczpf", "Amount": amount.toString(), "Memos": [ { "Memo": { "MemoData": artworkTitle } } ] } const subscription = await Sdk.payload.createAndSubscribe(request, event => { console.log('New payload event:', event.data) if (event.data.signed === true) { // No need to console.log here, we'll do that below return event.data } if (event.data.signed === false) { // No need to console.log here, we'll do that below return false } }); console.log(subscription.created); const resolveData = await subscription.resolved; if (resolveData.signed === false) { console.log('The sign request was rejected'); } if (resolveData.signed === true) { console.log('The sign request was signed'); const result = await Sdk.payload.get(resolveData.payload_uuidv4); console.log('User token:', result.application.issued_user_token); alert(`Payment of ${amount}XRP for artwork "${artworkTitle}" is successful!`); } } catch (error) { console.error('Error occurred while processing payment:', error); alert('Payment process encountered an error. Please try again later.'); } }; const main = async () => { }; main(); ``` And my Server-Side code I run on glitch: ```Text Server.js const express = require('express'); const app = express(); const { XummSdk } = require('xumm-sdk'); const Sdk = new XummSdk('370c6e43-d3ed-4bd7-b644-9177f14250ce', 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX'); const allowedOrigins = ['*', 'https://xumm.app']; app.use((req, res, next) => { const origin = req.headers.origin; if (allowedOrigins.includes(origin)) { res.setHeader('Access-Control-Allow-Origin', origin); } res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS'); res.setHeader('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept'); if (req.method === 'OPTIONS') { return res.sendStatus(200); } next(); }); app.post('/handle-payment', async (req, res) => { const artworkTitle = req.body.artworkTitle; const amount = req.body.amount; try { res.json({ success: true, message: 'Payment initiated successfully.' }); } catch (error) { console.error('Error occurred while processing payment:', error); res.status(500).json({ success: false, message: 'Payment process encountered an error. Please try again later.' }); } }); // Start the server const port = process.env.PORT || 3000; app.listen(port, () => { console.log(`Server running on port ${port}`); }); ``` I am kind of stuck here and hoping you guys could help me out here , Am I missing something ? Groeten uit Nederland :)

Payload gets temMALFORMED response, but works fine in Payload Signing tool

<https://xumm.dev/signing-tool?payload=5576ce40-b97c-40f6-89d9-1c926ac3feec&txid=2253AD15E1BEBC005D9138AD1EBB847487E4B9D73A7506FFAD3148BF492353A3> Above is an example of a successfully signed payload signed in the Payload Signing Tool. This same payload gets a `temMALFORMED` error when I attempt to sign it via the jwt API from my app. The only difference is the addition of the redirect_url: ```json { "options": { "return_url": { "app": 'origami://?id={id}&cid={cid}&txid={txid}&txblob={txblob}', "web": 'origami://?id={id}&cid={cid}&txid={txid}&txblob={txblob}', }, }, "txjson": { "Account": "rhJ6HKU4rLXGEkKHXLRoL7B61XvLz9JCem", "Amount": "1000000", "CancelAfter": 743736082, "Destination": "rhJ6HKU4rLXGEkKHXLRoL7B61XvLz9JCem", "Flags": 0, "LedgerEntryType": "Escrow", "TransactionType": "EscrowCreate" } } ``` Any ideas of what might be going on, or how to troubleshoot this? I am using the testate, but the signing tool doesn't seem to mind.