-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MoonPay integration #2039
Comments
➤ Vera Wu commented: https://dashboard.moonpay.com/ ( https://dashboard.moonpay.com/ ) 簽好約了,可以開始在系統內操作。 |
➤ Vera Wu commented: 我有在鋪路邀請他們來 rebrand 我這邊另外想了解的事 那我是不是也可以 在背景作業 讓他直接買產品 (我在背景先完成買 whatever crypto 再支付給我們 的作業) 只是可能他們還是要註冊帳號(moonpay) |
➤ Tammy Yang commented: 買 NFT 這種事直接付費接 MoonPay 主推的 API Hypermint 他們應該會更喜歡你 😆 |
➤ Vera Wu commented: Tammy Yang moo pay is asking for the update |
➤ Tammy Yang commented: Tell them RD team is working on it. Will share more later. |
➤ Vera Wu commented: update per Dev schedule ( https://docs.google.com/spreadsheets/d/1IEflC0_h5MEuBtwtPmtgw-7kZYDklTX_RabwVINm-UY/edit#gid=1060411730 ) |
➤ Vera Wu commented: MoonPay 上線要不要做 partnership announcement ? |
➤ Tammy Yang commented: 可以,也讓他們在 mainnet 宣傳期間幫我們抬轎吧 |
➤ Vera Wu commented: They also agr w/ partnership announcement |
➤ Tammy Yang commented: Vera Wu 請問登入帳號密碼? (麻煩 DM or Signal 給我) |
➤ Vera Wu commented: Tammy Yang 我之前就邀請你為 administer,你應該要用你的 email 登入,我重新邀請你一次了,你應該會收到 email |
➤ Tammy Yang commented: Bofu Chen Suggested flow: https://miro.com/app/board/o9J_knEiIYo=/?moveToWidget=3458764534151525217&cot=14 ( https://miro.com/app/board/o9J_knEiIYo=/?moveToWidget=3458764534151525217&cot=14 ) 目前遇到的問題
|
➤ Tammy Yang commented: Ethan Wu moonpay-demo has been transfer to you Miro: https://miro.com/app/board/o9J_knEiIYo=/?moveToWidget=3458764534151525217&cot=14 ( https://miro.com/app/board/o9J_knEiIYo=/?moveToWidget=3458764534151525217&cot=14 ) Please make sure the release focuses very much on changes of the checkout page. Let me and QA know if you need more time to integrate Moonpay into the current iframe. It is ok to delay it a bit. |
➤ Tammy Yang commented: For the redirect page, Moonpay widget requires you to send the encoded URL. You may need this site https://www.w3schools.com/tags/ref_urlencode.ASP ( https://www.w3schools.com/tags/ref_urlencode.ASP ) |
➤ Tammy Yang commented: Some tricks for efficient test:
Testing credit card: Card number: 2222755234426838 |
➤ Bofu Chen commented: Tammy YangEthan Wu Custodial ERC20 Payer (Bubble plugin) for the MoonPay integration is ready. Here is the plugin architecture ( https://miro.com/app/board/o9J_knFcMnw=/?moveToWidget=3458764534379724624&cot=14 ). |
➤ Ethan Wu commented: Tammy Yang is it possible to share with me the service wallet address? |
➤ Bofu Chen commented: Ethan Wu I'm preparing the wallet and will share the wallet info here soon. I guess that you will need not only the wallet address but also the private key for setting the plugin? |
➤ Bofu Chen commented: Ethan Wu numbers-custody-payment wallet: 0x7dFCedd2a008d3c0cb09887D5f03e4f01B8538e6
You can share the Bubble App with the Custody Payment plugin with me. I can help set the private key in the plugin. |
➤ Ethan Wu commented: Bofu Chen is the plugin for the custodial erc20 payer created already? |
➤ Bofu Chen commented: Ethan Wu Yes you can get the info in the comment above ( https://app.asana.com/0/0/1202479143365858/1203044509038812/f ). Let me know if anything is missing and I will update it |
➤ Ethan Wu commented: Bofu Chen ok. the bubble app is: capture-app-iframe |
➤ Ethan Wu commented: let me know if you need any more information |
➤ Tammy Yang commented: Ethan Wu maybe also provide Bofu Chen the demo app? |
➤ Ethan Wu commented: Bofu Chen demo app name: Moonpay-demo |
➤ Bofu Chen commented: Ethan Wu Both captureappiframe and moonpay-demo can use the custodial payer plugin now. I've set the plugin configs to captureappiframe. You can set moonpay-demo by referencing captureappiframe because I can not find moonpay-demo and set the configs for you. |
➤ Ethan Wu commented: status:
will work on other features (follow) while waiting for feedback & adjust the UI of checkout page according to MIRO |
➤ Tammy Yang commented: Ethan Wu
The countdown of the checkout page may cause some problems, please make some more tests to make sure we understand all conditions (as many as possible). |
➤ Ethan Wu commented: Tammy Yang users will need to complete moonpay transaction before the 5 minute time frame otherwise the order will expire and need to be reinitialized. this means at any point during the checkout process (ie: waiting for moonpay transaction to finish) if its not completed within the 5 minute window the order will expire. |
➤ Tammy Yang commented: Ethan Wu let's first continue the implementation and try if 50% users can finish the Moonpay transaction on time. Or, when it is expired, we can set moonpay_status of the Order to "expired". When the transaction completes, return data to webhook, and the status is expired => create a new Order for user? |
➤ Ethan Wu commented: my current thoughts are the following:
|
➤ Ethan Wu commented: need to include the following into the db diagram in order to run the backend workflow: access_token & refresh_token => for storage backend - confirm order user wallet address => for transfer action |
➤ Tammy Yang commented: Including token in the db may be a problem. However, since it's JWT tokens only, maybe it's fine. However, I would still suggest to open a task to recisit and update this design two months later. |
➤ Ethan Wu commented: Tammy Yang MoonPay integrated. I tested and confirm the flow works. There is an issue where the webhook is called multiple times. This causes NUM transfer and order confirmation to fire multiple times. After discussing with bofu we think it might be a moonpay issue. I have sent a detailed inquiry on telegram. While I wait for response do I release iframe to qa without MoonPay? |
➤ Ethan Wu commented: i added some steps in the workflow to prevent transfer and order confirmation from triggering if it has already been initiated. moonpay should work as expected even with webhook being called multiple times. |
➤ Ethan Wu commented: Kenny Hung when testing: pls note that NUM transfer (because it is in qa-release branch) happens on the testnet while order confirmation uses production storage backend. when you are testing message me to find out more details on how to test. |
➤ Tammy Yang commented: Bofu Chen
|
➤ Tammy Yang commented: Re-open the issue because the transaction cannot be completed. I have opened an issue (see Capture is not transferred properly after Moonpay payment is done ( https://app.asana.com/0/0/1203127623144856 )), however, I do believe it was due to the implementation of Moopay in the iframe side. Some issues observed
Will work on this tomorrow. |
➤ Tammy Yang commented: Besides and check_order_status returns 401 exception ( https://app.asana.com/0/0/1203128894956970 ) still show exceptions, I have tested the end-to-end process and make sure checkout with Moonpay can be done successfully. |
➤ Kenny Hung commented: After complete moonpay checkout process. User come back to App and redirect to explore page. But nothing happened, the prod is still in the explore page and asset still own by seller. |
➤ Tammy Yang commented: Please wait 10min and check again (it takes some time). Also, please check the Buyer account, I am pretty sure it can succeed. |
➤ Kenny Hung commented: detail information |
➤ Ethan Wu commented: i checked the logs there was an error in the transfer step: Workflow error - Plugin action transfer error: Error: cannot estimate gas; transaction may fail or may require manual gas limit [ See: https://links.ethers.org/v5-errors-UNPREDICTABLE_GAS_LIMIT ( https://links.ethers.org/v5-errors-UNPREDICTABLE_GAS_LIMIT ) ] (error={"reason":"execution reverted: ERC20: transfer amount exceeds balance","code":"UNPREDICTABLE_GAS_LIMIT","method":"estimateGas","transaction":{"from":"0x7dFCedd2a008d3c0cb09887D5f03e4f01B8538e6","gasPrice":{"type":"BigNumber","hex":"0x012a05f200"},"to":"0xeCEB87cF00DCBf2D4E2880223743Ff087a995aD9","data":"0xa9059cbb00000000000000000000000052feadb805857046ff8bc227c10eea2cf31750200000000000000000000000000000000000000000000000519c54d087ab770380","accessList":null},"error":{"reason":"processing response error","code":"SERVER_ERROR","body":"{"jsonrpc":"2.0","id":51,"error":{"code":3,"message":"execution reverted: ERC20: transfer amount exceeds balance","data":"0x08c379a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002645524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63650000000000000000000000000000000000000000000000000000"}}","error":{"code":3,"data":"0x08c379a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002645524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63650000000000000000000000000000000000000000000000000000"},"requestBody":"{"method":"eth_estimateGas","params":[{"gasPrice":"0x12a05f200","from":"0x7dfcedd2a008d3c0cb09887d5f03e4f01b8538e6","to":"0xeceb87cf00dcbf2d4e2880223743ff087a995ad9","data":"0xa9059cbb00000000000000000000000052feadb805857046ff8bc227c10eea2cf31750200000000000000000000000000000000000000000000000519c54d087ab770380"}],"id":51,"jsonrpc":"2.0"}","requestMethod":"POST","url":"https://bsc-dataseed.binance.org/"}} ( https://bsc-dataseed.binance.org/"}} ), tx={"data":"0xa9059cbb00000000000000000000000052feadb805857046ff8bc227c10eea2cf31750200000000000000000000000000000000000000000000000519c54d087ab770380","to":{},"from":"0x7dFCedd2a008d3c0cb09887D5f03e4f01B8538e6","gasPrice":{"type":"BigNumber","hex":"0x012a05f200"},"type":0,"nonce":{},"gasLimit":{},"chainId":{}}, code=UNPREDICTABLE_GAS_LIMIT, version=abstract-signer/5.7.0) at Logger.makeError (/var/task/node_modules/@ethersproject/logger/lib/index.js:238:21) at Logger.throwError (/var/task/node_modules/@ethersproject/logger/lib/index.js:247:20) at /var/task/node_modules/@ethersproject/abstract-signer/lib/index.js:365:47 at processTicksAndRejections (internal/process/task_queues.js:97:5) at async Promise.all (index 6) |
➤ Tammy Yang commented: Kenny Hunghttps://bscscan.com/address/0x7dFCedd2a008d3c0cb09887D5f03e4f01B8538e6 ( https://bscscan.com/address/0x7dFCedd2a008d3c0cb09887D5f03e4f01B8538e6 ) Please ask Joanne Yang to send 50K NUM to the wallet (budget: product dev) |
➤ Kenny Hung commented: Tammy YangEthan Wu (cc Scott YanSherry Chung)
|
➤ Ethan Wu commented: Kenny Hung I have responded.
|
➤ Tammy Yang commented: Kenny Hung do we have the video recording to show the checkout status? Please provide it to Vera Wu so that she can help communicate with Moonpay and get our API key published. |
➤ Kenny Hung commented: Vera WuSofia Yan There is the moonpay process record. |
➤ Tammy Yang commented: Some discussions related to the issues only found after API key goes Live can be found in this task Re-test after Moonpay widget is deployed to production ( https://app.asana.com/0/0/1203042208408125/f ) |
➤ Tammy Yang commented: Suggestion from code review: It is important that we have the reference for QA for exception cases like this miro frame ( https://miro.com/app/board/o9J_knEiIYo=/?moveToWidget=3458764538469411040&cot=14 ) (or see attached email). Pass code review for UI update, but should add the reference in the future. |
num-custody-payment: 0x7dFCedd2a008d3c0cb09887D5f03e4f01B8538e6
num-custody-recipient: 0x3912F7d6787AC42C7c7E016dECBA0A6Eb68Eb05b
┆Issue is synchronized with this Asana task by Unito
┆Created By: Vera Wu
The text was updated successfully, but these errors were encountered: