#fintech #payment-gateway #shurjopay #api-integration #plugin

no-std sp-plugin-rust-test

Rust plugin for for quick integration of shurjopay API

9 releases

0.3.6 Dec 31, 2022
0.3.5 Dec 30, 2022
0.2.0 Dec 11, 2022
0.1.0 Dec 11, 2022

#98 in Finance

28 downloads per month

MIT/Apache

46KB
732 lines

image

ShurjoPay

Test Status Crate Book API API Minimum rustc version

Shurjopaypayment gateway Rust Crate

It handles many of the things that most people need to do manually

  • Handles http request and request errors
  • JSON serialization and deserialization
  • Authentication during checkout and verification of payments

Shurjopay Rust integration steps

📝 NOTE For shurjoPay live engine integration's all necessary credential will be given to merchant after subscription completed on shurjoPay gateway.

Usage

Add this to your Cargo.toml:

[dependencies]
sp-plugin-rust-test = "0.1.0"

Shurjopay-Rust-Plugin

To integrate the shurjoPay Payment Gateway in your Rust project do the following tasks sequentially.

step:1 Cargo.toml file Configuration

[dependencies]
sp-plugin-rust-test = "0.1.0"

step:2 Import Crate into your project

use sp_plugin_rust_test::Shurjopay::ShurjopayPlugin;

step:3 creating a new instance of Shurjopayplugin

let mut sp_instance = ShurjopayPlugin::new();

Configure Shurjopay

step:4 setting configuration of Shurjopayplugin

you can configure ShurjopayPlugin two ways

  • option1: configure plugin using .env file
sp_instance.set_config_from_env_file();

in this way you need to configure .env file in this way.

*** keep the .toml and .evn file in the same directiory ***

# .env
SP_USER="sp_sandbox"
SP_PASS="pyyk97hu&6u6"
POST_DEFAULT_ADDRESS="https://sandbox.shurjopayment.com"
TOKEN_END_POINT="/api/get_token"
SECURE_PAYMENT_END_POINT="/api/secret-pay"
VERIFICATION_END_POINT="/api/verification"
PAYMENT_STATUS_END_POINT="/api/payment-status"
DEFAULT_RETURN_URL="https://sandbox.shurjopayment.com/response"
DEFAULT_CANCEL_URL="https://sandbox.shurjopayment.com/response"
  • option2: Configure plugin using this function
sp_instance.set_all_config(
        "sp_sandbox".to_string(),
        "pyyk97hu&6u6".to_string(),
        "https://sandbox.shurjopayment.com".to_string(),
        "/api/get_token".to_string(),
        "/api/secret-pay".to_string(),
        "/api/verification".to_string(),
        "/api/payment-status".to_string(),
        "https://www.sandbox.shurjopayment.com/response".to_string(),
        "https://www.sandbox.shurjopayment.com/response".to_string(),
        );

Make Payment

step:5 To intiate make payment fisrt you need configure payment request object using the following function and pass the object into make_payment_no_auto_redirect() function

let payment_req_obj = sp_instance.make_payment_request_object(
    "786".to_string(),              // amount
    "abc123".to_string(),           // order_id
    "BDT".to_string(),              // currency
    "Mahmudul Islam".to_string(),   // customer_name
    "Dhaka".to_string(),            // customer_address
    "01811177722".to_string(),      // customer_phone
    "Dhaka".to_string(),            // customer_city
    "1203".to_string(),             // customer_post_code
    );
let checkout_url = sp_instance.make_payment(payment_req_obj) 

Verify Payment

step:6 to verify payment you need use this function

let response = sp_instance.verify_payment(Some("sp63935da67dfd3".to_string()));
println!("verify Payment Response:  {:?}",response);
if response.is_some()
{
		println!("{:#?}", response.unwrap().clone().sp_message.unwrap());
}

License

Licensed under:

Who do I talk to?

For any technical assistance please contact to: https://shurjopay.com.bd/#contacts

Dependencies

~8–20MB
~282K SLoC