Funding a Wallet Balance

I attempted to fund a wallet using the checkout page in the Rapyd platform. However, I’ve encountered a challenge where the amount isn’t reflected in the wallet after successfully completing the payment process.

Here’s a breakdown of the steps I followed:

  1. Created a payment link for wallet funding.
  2. Selected the bank currency as SGD.
  3. Successfully initiated the payment via the virtual link provided.
  4. Completed the payment instructions on the Rapyd collect page.
  5. The transaction status on the Rapyd collect page showed as “done,” indicating successful payment.
  6. However, despite the payment being marked as “done,” the corresponding amount is not reflected in the wallet balance.

I’ve thoroughly reviewed the steps and the process, and this discrepancy seems to persist consistently. I believe this might be related to a potential issue with the payment processing flow.

Thanks @Arvind_Aaswani, what payment method are you using?

I followed my own process and found that the balance was correct. Some of the things that may affect could be:

  1. Not attributing 100% funding or a lower amount to the ewallet.
  2. Any fee or tax that is attributed with FX, or just Payment Fees, like transaction_fee described in the parameters of Create Payment.

Here are some of the responses I got.

  1. I Created a brand new wallet - ewallet_9fe982e2fa785bd1edba7e83154b3663
  2. Checking the wallet balance nothing comes up at the creation.
  3. I created a bank payment of 1000 SGD using sg_ocbcpao_bank
  4. The payment starts out as "status": "ACT", but I confirm the payment using the URL. It then shows as DONE.
  5. I checked the wallet balance and it shows up as 1000 SGD.

Create Payment

Request

{
	"amount": 1000,
	"currency": "SGD",
	"complete_payment_url": "https://rapyd.net",
	"error_payment_url": "https://docs.rapyd.net",
	"description": "Payment by bank redirect",
	"payment_method": {
		"type": "sg_ocbcpao_bank",
		"fields": {

            "app_id":"222222",
            "url_scheme":"https://rapyd.net"
        }
	},
	"capture": null,
	"ewallets": [
		{
			"ewallet": "ewallet_9fe982e2fa785bd1edba7e83154b3663",
			"percentage": 100
		}
	],
	"metadata": {
		"merchant_defined": true
	}
}

Response

{
    "status": {
        "error_code": "",
        "status": "SUCCESS",
        "message": "",
        "response_code": "",
        "operation_id": "979eda77-67da-4a45-b2a9-44747f5c1c8b"
    },
    "data": {
        "id": "payment_c239eef409f60d3f1b664d3f8b7dbfad",
        "amount": 0,
        "original_amount": 1000,
        "is_partial": false,
        "currency_code": "SGD",
        "country_code": "SG",
        "status": "ACT",
        "description": "Payment by bank redirect",
        "merchant_reference_id": "",
        "customer_token": "cus_e818a8b6bad93e199c464b9512b9a9a6",
        "payment_method": "other_4bcaa340776de24ca5dc616c4248ccc8",
        "payment_method_data": {
            "id": "other_4bcaa340776de24ca5dc616c4248ccc8",
            "type": "sg_ocbcpao_bank",
            "category": "bank_redirect",
            "metadata": {},
            "image": "",
            "webhook_url": "",
            "supporting_documentation": "",
            "next_action": "not_applicable",
            "bic_swift": "",
            "account_last4": "",
            "app_id": "222222",
            "url_scheme": "https://rapyd.net"
        },
        "auth_code": null,
        "expiration": 1693495340,
        "captured": true,
        "refunded": false,
        "refunded_amount": 0,
        "receipt_email": "",
        "redirect_url": "https://sandboxcheckout.rapyd.net/complete-bank-payment?token=payment_c239eef409f60d3f1b664d3f8b7dbfad&complete_payment_url=https%3A%2F%2Frapyd.net&error_payment_url=https%3A%2F%2Fdocs.rapyd.net",
        "complete_payment_url": "https://rapyd.net",
        "error_payment_url": "https://docs.rapyd.net",
        "receipt_number": "",
        "flow_type": "",
        "address": null,
        "statement_descriptor": "Test Business",
        "transaction_id": "",
        "created_at": 1692285740,
        "metadata": {
            "merchant_defined": true
        },
        "failure_code": "",
        "failure_message": "",
        "paid": false,
        "paid_at": 0,
        "dispute": null,
        "refunds": null,
        "order": null,
        "outcome": null,
        "visual_codes": {},
        "textual_codes": {},
        "instructions": [
            {}
        ],
        "ewallet_id": "ewallet_9fe982e2fa785bd1edba7e83154b3663",
        "ewallets": [
            {
                "ewallet_id": "ewallet_9fe982e2fa785bd1edba7e83154b3663",
                "amount": 1000,
                "percent": 100,
                "refunded_amount": 0
            }
        ],
        "payment_method_options": {},
        "payment_method_type": "sg_ocbcpao_bank",
        "payment_method_type_category": "bank_redirect",
        "fx_rate": 1,
        "merchant_requested_currency": null,
        "merchant_requested_amount": null,
        "fixed_side": "",
        "payment_fees": null,
        "invoice": "",
        "escrow": null,
        "group_payment": "",
        "cancel_reason": null,
        "initiation_type": "customer_present",
        "mid": "",
        "next_action": "pending_confirmation",
        "error_code": "",
        "remitter_information": {},
        "save_payment_method": true
    }
}

Retrieve Wallet Balance

Request

https://sandboxapi.rapyd.net/v1/user/:wallet/accounts

Parameters
wallet: ewallet_9fe982e2fa785bd1edba7e83154b3663

Response

{
    "status": {
        "error_code": "",
        "status": "SUCCESS",
        "message": "",
        "response_code": "",
        "operation_id": "2e0a16da-08a9-448e-a072-5285cdaa4849"
    },
    "data": [
        {
            "id": "287bf32b-d3bc-4084-a1d1-98b87c4203b0",
            "currency": "SGD",
            "alias": "SGD",
            "balance": 1000,
            "received_balance": 0,
            "on_hold_balance": 0,
            "reserve_balance": 0,
            "limits": null,
            "limit": null
        }
    ]
}

P.s. I moved this to a new topic to separate it from wallet to wallet transfers.