1.0.2 • Published 1 year ago

paymob-node-sdk v1.0.2

Weekly downloads
-
License
ISC
Repository
github
Last release
1 year ago

Paymob NodeJS SDK

nodejs library for (Paymob)https://pakistan.paymob.com/portal2/en/login

Installation

With Yarn

yarn add paymob-node-sdk

With NPM

npm install paymob-node-sdk

Usage

Import and initialize the Paymob client

const { Paymob } = require('paymob-node-sdk')

const paymob = new Paymob({
    apiKey:'Your API Key',
    region:'pakistan',
    iframeId:123456
})

Initialization

ParameterTypeDescriptionRequired
apiKeyStringAPI Key from your Paymob Dashboard settings.Yes
regionStringpakistan, accept, uae, oman, ksaYes
iframeIdNumberIFrame Id from your Paymob Dashboard Iframes.Yes

Get Token

const token = await paymob.getToken()

Create Payment

const billingData = {
            first_name: "John",
            last_name: "Doe",
            email: "john.doe@example.com",
            phone_number: "+923001234567",
            apartment: "NA", 
            floor: "NA", 
            street: "NA", 
            building: "NA", 
            shipping_method: "NA", 
            postal_code: "NA", 
            city: "NA", 
            country: "NA", 
            state: "NA"
        };

const payment = await paymob.processPayment(token, billingData, amount,currency, integrationid);

Parameters for Create Payment

ParameterTypeDescriptionRequired
tokenStringtoken from paymob.getToken()Yes
billingDataObjectThe billing data related to the customer related to this payment.Yes
amountNumberThe price of the order in centsYes
currencyStringThe currency related to this payment.Yes
integrationidStringYour Integration ID from Payment IntegrationsYes

The payment object returned by processPayment contains a URL and Payment Keys. URL can be used to redirect user to that URL. Payment Keys can be used in Iframe.

Get Transaction Details

const transactionDetails = await paymob.getTransactionDetails(token, transactionId)

Parameters for Transaction Details

ParameterTypeDescriptionRequired
tokenStringtoken from paymob.getToken()Yes
transactionIdNumberTransaction Id from Callback or Paymob Dashboard.Yes

the transactionsDetails will return the following response

{
    "type":"TRANSACTION",
    "obj":{
      "id":78,
      "pending": "false",
      "amount_cents":100,
      "success":"true",
      "is_auth": "false",
      "is_capture": "false",
      "is_standalone_payment":"true",
      "is_voided": "false",
      "is_refunded": "false",
      "is_3d_secure": "false",
      "integration_id":1,
      "profile_id":1,
      "has_parent_transaction": "true",
      "order":{
          "id":94,
          "created_at":"2016-12-26T06:49:16.651010Z",
          "delivery_needed": "false",
          "merchant":{
            "id":1,
            "created_at":"2016-11-17T15:02:53.646620Z",
            "phones":[
              "011111111111",
              "012324151432"
            ],
            "company_emails":[
              "brendon42@cummings-windler.biz",
              "jim50@sipes-kunze.com"
            ],
            "company_name":"Wuckert, Zieme and Dach",
            "state":"Oklahoma",
            "country":"Oman",
            "city":"Port Arvillachester",
            "postal_code":"83372",
            "street":"Walker Ramp"
          },
          "collector": "null",
          "amount_cents":100,
          "shipping_data":{
              "id":73,
              "first_name":"Clifford",
              "last_name":"Nicolas",
              "street":"Ethan Land",
              "building":"8028",
              "floor":"42",
              "apartment":"803",
              "city":"Jaskolskiburgh",
              "state":"Utah",
              "country":"CR",
              "email":"claudette09@exa.com",
              "phone_number":"+86(8)9135210486",
              "postal_code":"01898",
              "extra_description":"",
              "shipping_method":"UNK",
              "order_id":94,
              "order":94
          },
          "currency":"PKR",
          "is_payment_locked":"true",
          "merchant_order_id": "null",
          "wallet_notification": "null",
          "paid_amount_cents":0,
          "items":[]
      },
      "created_at":"2016-12-26T06:49:16.680871Z",
      "transaction_processed_callback_responses":[],
      "currency":"PKR",
      "source_data":{
          "sub_type":"MasterCard",
          "pan":"2346",
          "type":"card"
      },
      "data":{
          "merchant_txn_ref":"1_6b30848c28c455de9bcb0c693e9f85a3",
          "card_num": "null",
          "avs_result_code":"Unsupported",
          "order_info":"claudette09@exa.com",
          "merchant":"TEST290510EGP",
          "avs_acq_response_code":"Unsupported",
          "transaction_no":"2000004112",
          "batch_no":"20161226",
          "message":"Approved",
          "txn_response_code":"0",
          "secure_hash":"DF6CF1D9CFF09F9C6AE1EC86F6ED4BFE4E5BAE8CE7705ED05E61A264839FEA7A",
          "card_type":"MC",
          "receipt_no":"636117634097",
          "created_at":"2016-12-26T06:49:19.593479",
          "currency":"PKR",
          "klass":"VPCPayment",
          "authorize_id":"634097",
          "amount":"100",
          "acq_response_code":"00",
          "command":"pay",
          "gateway_integration_pk":1
      },
      "payment_key_claims":{
          "exp":1482770369,
          "currency":"PKR",
          "amount_cents":100,
          "user_id":2,
          "integration_id":1,
          "shipping_data":{
              "state":"Utah",
              "country":"CR",
              "first_name":"Clifford",
              "last_name":"Nicolas",
              "postal_code":"01898",
              "floor":"42",
              "city":"Jaskolskiburgh",
              "street":"Ethan Land",
              "building":"8028",
              "phone_number":"+86(8)9135210486",
              "extra_description":"",
              "shipping_method":"PKG",
              "apartment":"803",
              "email":"claudette09@exa.com"
          }
      },
      "error_occured": "false",
      "owner":2,
      "parent_transaction": "false"
    }
}
1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago