# payu-core-pg-react
React Native SDKs for Seamless Payment Integration

- ## Payment Options

- ## Web Services


## Payment Options

- Net Banking
- CC / DC
- UPI
- PayU Money

## Web Services

- Fetch Payment Options
- VAS
- Check Is Domestic
- Get Bin Info
- Get Transaction Information
- Get EMI Details
- Get Checkout Details
- Verify Payment
- Get Offer Status
- Check Offer Details
- Get User Cards
- Save User Card
- Edit User Card
- Delete Stored Card
- Lookup API

---
---

# How to use

> import
```javascript
  import PayUSdk from 'payu-core-pg-react';
```

## Payment Options
---

### Net Banking

```javascript

const handleResponse = (response) => {
  console.log({response: response});
};

const handleError = (err) => {
      Alert.alert('Error', JSON.stringify(err));
};

const paymentType = 'Net Banking';

const paymentData =  {
              key: apikey,
              environment,
              amount,
              txnId,
              phone,
              email,
              surl,
              furl,
              productInfo,
              firstname,
              salt,
              paymentType,
              bankCode,
            };

PayUSdk.makePayment(
    paymentData,
    (response) => handleResponse,
    (err) => handleError
  );

```


### CC / DC

```javascript

const handleResponse = (response) => {
  console.log({response: response});
};

const handleError = (err) => {
      Alert.alert('Error', JSON.stringify(err));
};

const paymentType = 'Credit / Debit Cards';

const paymentData =  {
               key: apikey,
                environment,
                amount,
                txnId,
                phone,
                email,
                surl,
                furl,
                productInfo,
                firstname,
                salt,
                paymentType,
                nameOnCard,
                cardNumber,
                expiryYear,
                expiryMonth,
                CVV: cvv,
            };

PayUSdk.makePayment(
    paymentData,
    (response) => handleResponse,
    (err) => handleError
  );

```

### UPI

```javascript

const handleResponse = (response) => {
  console.log({response: response});
};

const handleError = (err) => {
      Alert.alert('Error', JSON.stringify(err));
};

const paymentType = 'UPI';

const paymentData =  {
              environment,
              amount,
              key: apikey,
              txnId,
              phone,
              email,
              surl,
              furl,
              productInfo,
              firstname,
              salt,
              paymentType,
              vpa,
            };

PayUSdk.makePayment(
    paymentData,
    (response) => handleResponse,
    (err) => handleError
  );

```

### PayU Money

```javascript

const handleResponse = (response) => {
  console.log({response: response});
};

const handleError = (err) => {
      Alert.alert('Error', JSON.stringify(err));
};

const paymentType = 'PayU Money';

const paymentData =   {
              environment,
              amount,
              key: apikey,
              txnId,
              phone,
              email,
              surl,
              furl,
              productInfo,
              firstname,
              salt,
              paymentType,
            };

PayUSdk.makePayment(
    paymentData,
    (response) => handleResponse,
    (err) => handleError
  );

```


## Web Services
---

### Payment Options
```javascript

 const params = {
      key: apikey,
      environment,
      amount,
      salt,
    };

const options = await PayUSdk.fetchPaymentOptions(params);

```

### VAS
```javascript

 const params = {
      key: apikey,
      environment,
      amount,
      salt,
    };

const options = await PayUSdk.vas({ ...params, bankCode: 'AXIB' });

```


### Check Is Domestic
```javascript

 const params = {
      key: apikey,
      environment,
      amount,
      salt,
    };

 const response = await PayUSdk.checkIsDomestic({
          ...params,
          cardNumber: '512345',
        });

```



### Get Bin Info
```javascript

 const params = {
      key: apikey,
      environment,
      amount,
      salt,
    };

 const response = await PayUSdk.getBinInfo({
          ...params,
          cardNumber: '512345',
        });

```



### Get Transaction Info
```javascript

 const params = {
      key: apikey,
      environment,
      amount,
      salt,
    };

  let endTime = new Date();

  const response = await PayUSdk.getTransactionInfo({
    ...params,
    startTime: startTime.toISOString().slice(0, 19).replace('T', ' '),
    endTime: endTime.toISOString().slice(0, 19).replace('T', ' '),
  });

```

### Get EMI Details
```javascript

 const params = {
      key: apikey,
      environment,
      amount,
      salt,
    };


  const response = await PayUSdk.getEMIDetails({
          ...params,
          amount: '99',
        });

```


### Get Checkout Details
```javascript

 const params = {
      key: apikey,
      environment,
      amount,
      salt,
    };


 const response = await PayUSdk.getCheckoutDetails({
          ...params,
          amount: '99',
        });

```



### Check Offer Details
```javascript

  const params = {
      key: apikey,
      environment,
      amount,
      salt,
    };


  const response = await PayUSdk.checkOfferDetails(params);

```

---
### Get User Cards
```javascript

  const params = {
      key: apikey,
      environment,
      salt,
    };


  const response = await PayUSdk.getUserCards(params);

```

---
### Save User Cards
```javascript

  const params = {
      key: apikey,
      environment,
      amount,
      salt,

      cardName,
      cardMode,
      cardType,
      nameOnCard,
      cardNo,
      expiryMonth,
      expiryYear,
      duplicateCheck,

    };


  const response = await PayUSdk.saveUserCard(params);

```


---
### Delete User Cards
```javascript

  const params = {
      key: apikey,
      environment,
      amount,
      salt,

      id: cardId

    };


  const response = await PayUSdk.deleteStoredCard(params);

```
