Skip to content

Bohudur Sketchware Pro Integration

Bohudur offers blocks for Sketchware Pro that lets you accept payments using Bohudur without writing Java code.

Everything is done using ready-made blocks.

Requirements

  • Minimum SDK: 21
  • Target SDK: 28+
  • Internet permission enabled
  • Volley library enabled

Required Permission

Enable INTERNET permission in:

Project → Permission Manager → Search Permission

Enable:

android.permission.INTERNET

Required Libraries

1. Bohudur SDK

Add this dependency:

com.github.BohudurOne:Android-Studio-Library:1.2.2

2. Volley Library (IMPORTANT)

Bohudur SDK depends on Volley for networking.

Add this dependency:

com.android.volley:volley:1.2.1

Warning!

If Volley is not added, the SDK will not work.

Download Blocks

Download Bohudur Sketchware Blocks

Download Blocks

After downloading:

Settings → Block Manager → Bohudur (create) → Import → Select JSON

Payment Status Meanings

  • PENDING → User hasn’t paid
  • COMPLETED → Paid but not executed
  • EXECUTED → Payment confirmed
  • CANCELLED → User cancelled

Payment Info By Gateways

json
{
    "payment_info": {
        "id": 1,
        "gateway": "bkash",
        "method": "Send Money",
        "number": "01XXXXXXXXX",
        "amount": 100,
        "trx": "TRX123ABC456",
        "time": "01/01/2026 12:00",
        "m0": "Bkash Send Money"
    }
}
json
{
    "payment_info": {
        "id": 1,
        "gateway": "nagad",
        "method": "Send Money",
        "number": "01XXXXXXXXX",
        "amount": 100,
        "trx": "TRX123ABC456",
        "time": "01/01/2026 12:00",
        "m0": "Nagad Send Money"
    }
}
json
{
    "payment_info": {
        "id": 1,
        "gateway": "rocket",
        "method": "Send Money",
        "number": "01XXXXXXXXX",
        "amount": 100,
        "trx": "TRX123ABC456",
        "time": "01/01/2026 12:00",
        "m0": "Rocket Send Money"
    }
}
json
{
    "payment_info": {
        "id": 1,
        "gateway": "upay",
        "method": "Send Money",
        "number": "01XXXXXXXXX",
        "amount": 100,
        "trx": "TRX123ABC456",
        "time": "01/01/2026 12:00",
        "m0": "Upay Send Money"
    }
}
json
{
    "payment_info": {
        "id": 1,
        "gateway": "mcash",
        "method": "Send Money",
        "number": "01XXXXXXXXX",
        "amount": 100,
        "trx": "TRX123ABC456",
        "time": "01/01/2026 12:00",
        "m0": "mCash Send Money"
    }
}
json
{
    "paymentID": "TRX_PAYMENT_ID_EXAMPLE",
    "trxID": "TRX123ABC456",
    "transactionStatus": "Completed",
    "amount": "100",
    "currency": "BDT",
    "intent": "sale",
    "paymentExecuteTime": "2026-01-01T12:00:00 GMT+0600",
    "merchantInvoiceNumber": "invoice_demo_12345",
    "payerType": "Customer",
    "payerReference": "CUSTOMER_REF",
    "customerMsisdn": "01XXXXXXXXX",
    "payerAccount": "01XXXXXXXXX",
    "maxRefundableAmount": "100",
    "statusCode": "0000",
    "statusMessage": "Successful",
    "m0": "Bkash Merchant"
}
json
{
    "status": "VALID",
    "tran_date": "2026-01-01 12:00:00",
    "tran_id": "SSLCZ_DEMO_TRANSACTION",
    "val_id": "VALIDATION_ID_EXAMPLE",
    "amount": "100.00",
    "store_amount": "97.50",
    "currency": "BDT",
    "bank_tran_id": "BANK_TRANSACTION_ID",
    "card_type": "NAGAD-Nagad",
    "card_no": "",
    "card_issuer": "Nagad",
    "card_brand": "MOBILEBANKING",
    "card_category": "MOBILE",
    "card_sub_brand": "",
    "card_issuer_country": "Bangladesh",
    "card_issuer_country_code": "BD",
    "currency_type": "BDT",
    "currency_amount": "100.00",
    "currency_rate": "1.0000",
    "base_fair": "0.00",
    "value_a": "",
    "value_b": "",
    "value_c": "",
    "value_d": "",
    "emi_instalment": "0",
    "emi_amount": "0.00",
    "emi_description": "",
    "emi_issuer": "Nagad",
    "account_details": "",
    "risk_title": "Safe",
    "risk_level": "0",
    "discount_percentage": "0",
    "discount_amount": "0.00",
    "discount_remarks": "",
    "APIConnect": "DONE",
    "validated_on": "2026-01-01 12:00:10",
    "gw_version": "",
    "offer_avail": 1,
    "card_ref_id": "CARD_REFERENCE_ID_EXAMPLE",
    "isTokeizeSuccess": 0,
    "campaign_code": "",
    "m0": "SSLCommerz"
}
json
{
    "id": "pi_demo_payment_intent",
    "object": "payment_intent",
    "amount": 10000,
    "amount_capturable": 0,
    "amount_details": {
        "tip": []
    },
    "amount_received": 10000,
    "application": null,
    "application_fee_amount": null,
    "automatic_payment_methods": null,
    "canceled_at": null,
    "cancellation_reason": null,
    "capture_method": "automatic_async",
    "client_secret": "pi_demo_payment_intent_secret_example",
    "confirmation_method": "automatic",
    "created": 1767225600,
    "currency": "usd",
    "customer": null,
    "customer_account": null,
    "description": "Demo Payment",
    "excluded_payment_method_types": null,
    "last_payment_error": null,
    "latest_charge": "ch_demo_charge_id",
    "livemode": false,
    "managed_payments": {
        "enabled": false
    },
    "metadata": [],
    "next_action": null,
    "on_behalf_of": null,
    "payment_details": {
        "customer_reference": null,
        "order_reference": "ORDER_REFERENCE_EXAMPLE"
    },
    "payment_method": "pm_demo_payment_method",
    "payment_method_configuration_details": null,
    "payment_method_options": {
        "card": {
            "installments": null,
            "mandate_options": null,
            "network": null,
            "request_three_d_secure": "automatic"
        }
    },
    "payment_method_types": [
        "card"
    ],
    "presentment_details": {
        "presentment_amount": 12000,
        "presentment_currency": "bdt"
    },
    "processing": null,
    "receipt_email": "customer@example.com",
    "review": null,
    "setup_future_usage": null,
    "shared_payment_granted_token": null,
    "shipping": null,
    "source": null,
    "statement_descriptor": null,
    "statement_descriptor_suffix": null,
    "status": "succeeded",
    "transfer_data": null,
    "transfer_group": null,
    "m0": "Stripe"
}
json
{
    "uid": 123456789,
    "counterpartyId": 987654321,
    "orderId": "ORDER_ID_EXAMPLE",
    "orderType": "CRYPTO_BOX",
    "transactionId": "TRANSACTION_ID_EXAMPLE",
    "transactionTime": 1767225600000,
    "amount": "10.00",
    "currency": "USDT",
    "walletType": 1,
    "walletTypes": [
        "1"
    ],
    "fundsDetail": [
        {
            "currency": "USDT",
            "amount": "10.00"
            "walletAssetCost": {
                "1": "10.00"
            }
        }
    ],
    "payerInfo": {
        "name": "John Doe",
        "type": "USER",
        "email": "customer@example.com",
        "countryCode": 880,
        "phoneNumber": "01XXXXXXXXX",
        "mobileCode": "BD",
        "unmaskData": false
    },
    "receiverInfo": {
        "binanceId": 123456789,
        "accountId": 987654321,
        "unmaskData": false
    },
    "totalPaymentFee": "0",
    "m0": "Binance Personal"
}

Error Codes

Bohudur follows API error codes:

  • 3000 – 3018 → Create payment
  • 3050 – 3055 → Query payment
  • 3100 – 3109 → Execute payment

Always handle failure blocks properly.

Notes for Sketchware Users

  • No Java code needed
  • Safe for beginners
  • Works with Sketchware Pro
  • Volley must be added
  • Internet permission is mandatory

Support

Bohudur is free and open to everyone. No trade license required.