0.0.17 • Published 3 years ago

ipay-shopify v0.0.17

Weekly downloads
-
License
ISC
Repository
github
Last release
3 years ago

iPay SDK

Installation

npm i @k3nch0/ipay-shopify

Usage

const SDK = require('@k3nch0/ipay-shopify');

Create config

const ipay = new SDK.Ipay({
    intent: "AUTHORIZE",
    username: "1006",
    password: "581ba5eeadd657c8ccddc74c839bd3ad",
    api: "dev.ipay.ge",//dev.ipay.ge developer mode, ipay.ge production mode
    redirect_url: "http://localhost:3000",
    shop_order_id: "Shop order id",
    card_transaction_id: "",
    locale: "ka",
    industry_type: "ECOMMERCE",
    currency_code: "GEL"
});

Products array

const items = [
     { product_id: "123456789", quantity: 1, amount: 1.00, description: "product description text 1" },
     { product_id: "987654321", quantity: 3, amount: 5.00, description: "product description text 2" }
];

create order

const order = await ipay.createOrder(items);
response
{
    status: 'CREATED',
    payment_hash: 'c4737a6b4a2e5c9e1fe00a284d1e7baa631c68e2',
    links:[
        { 
            href: 'https://dev.ipay.ge/opay/api/v1/checkout/orders/aa233c3b716cae55c403553c49657ee55fe208ad?locale=ka',
            rel: 'self',
            method: 'GET' 
        },
        { 
            href: 'https://dev.ipay.ge/?paymentId=aa233c3b716cae55c403553c49657ee55fe208ad',
            rel: 'approve',
            method: 'GET' 
        } 
    ],
    order_id: 'aa233c3b716cae55c403553c49657ee55fe208ad' 
}

payment_hash and order_id have to be stored in safe location

get orders

const ordersList = await ipay.getOrders("<saved order_id>");

callback

router.route('/pay/status').post( async (req, res, next) => {
    const { status, payment_hash, order_id, status_description, shop_order_id, ipay_payment_id } = req.body;
    const saved_order_id = "<saved order_id>";
    const saved_payment_hash = "<saved payment_hash>";
    if(order_id == saved_order_id && payment_hash == saved_payment_hash){
        //update status and send response
        res.sendStatus(200);
    }else{
        res.sendStatus(404);
    }
});
0.0.17

3 years ago

0.0.16

3 years ago

0.0.15

3 years ago

0.0.14

3 years ago

0.0.12

3 years ago

0.0.11

3 years ago

0.0.10

3 years ago

0.0.9

3 years ago

0.0.8

3 years ago

0.0.7

3 years ago

0.0.6

3 years ago

0.0.5

3 years ago

0.0.4

3 years ago

0.0.3

3 years ago

0.0.2

3 years ago

0.0.1

3 years ago