0.3.0 • Published 2 years ago
@farayolaj/react-remita-inline v0.3.0
React Remita Inline
This is a wrapper around Remita Inline SDK for React projects.
Install
NPM
npm install @farayolaj/react-remita-inlineYarn
yarn add @farayolaj/react-remita-inlinePNPM
pnpm add @farayolaj/react-remita-inlineUsage
- Imperative API.
 
import { useRemitaInline } from "@farayolaj/react-remita-inline";
function Example() {
  const { initPayment } = useRemitaInline({
    isLive: false,
    onClose() {
      console.log("Remita closed");
    },
    onError(response) {
      console.log("Remita Error: ", response);
    },
    onSuccess(response) {
      console.log("Remita Success: ", response);
    },
  });
  return (
    <button
      onClick={() =>
        initPayment({
          key: config.remita.publicKey,
          transactionId: String(Math.floor(Math.random() * 1101233)),
          amount: 10000,
          customerId: "johndoe@gmail.com",
          narration: "Payment for groceries.",
          email: "johndoe@gmail.com",
          firstName: "John",
          lastName: "Doe",
        })
      }
    >
      Checkout
    </button>
  );
}- Declarative API.
 
import { useRemitaInline } from "@farayolaj/react-remita-inline";
function Example() {
  const { RemitaInlineButton } = useRemitaInline({
    isLive: false,
    onClose() {
      console.log("Remita closed");
    },
    onError(response) {
      console.log("Remita Error: ", response);
    },
    onSuccess(response) {
      console.log("Remita Success: ", response);
    },
  });
  return (
    <RemitaInlineButton
      data={{
        key: config.remita.publicKey,
        transactionId: String(Math.floor(Math.random() * 1101233)),
        amount: 10000,
        customerId: "johndoe@gmail.com",
        narration: "Payment for groceries.",
        email: "johndoe@gmail.com",
        firstName: "John",
        lastName: "Doe",
      }}
      className="button-primary"
      text="Checkout"
    />
  );
}Types
UseRemitaInlineProps
useRemitaInline(UseRemitaInlineProps)
| Property | Type | Default | Description | Required | 
|---|---|---|---|---|
| isLive | boolean | Use demo or live SDK. | true | |
| onSuccess | Function | Callback for successful payment. | false | |
| onError | Function | Callback for error during payment. | false | |
| onClose | Function | Callback for payment modal close. | false | 
RemitaInlineButtonProps
<RemitaInlineButton {...RemitaInlineButtonProps} />
| Property | Type | Default | Description | Required | 
|---|---|---|---|---|
| data | RemitaInlineData | Options needed by Remita. | true | |
| className | string | Class names for styling. | false | |
| text | string | "Pay" | Text to show in button. | false | 
RemitaInlineData
Options needed by Remita Inline SDK. More information about this here.