Props
buttonProps
Props to be passed to the <button>
element. The following props are not supported: aria-disabled
, disabled
, type
. Since we use that to control the disabled state of the button, we don't support it.
But in addition to this we offer a isLoading
prop to control the loading state of the button a.k.a disabling the button.
import { GiftCard, PaymentForm } from 'react-square-web-payments-sdk';
export default function MyApp() {
const onClick = () => {
// do something
};
return (
<PaymentForm>
<GiftCard
buttonProps={{
isLoading: true,
onClick: onClick,
}}
/>
</PaymentForm>
);
}
callbacks
Adds an event listener to the GiftCard instance. You can see this page for more details.
import { GiftCard, PaymentForm } from 'react-square-web-payments-sdk';
export default function MyApp() {
return (
<PaymentForm>
<GiftCard
callbacks={{
cardBrandChanged(event) {
console.info(event);
},
focusClassAdded(event) {
console.info(event);
},
}}
/>
</PaymentForm>
);
}
children
Make it possible to put any component inside. If children is/are given then render
is not applied.
import { GiftCard, PaymentForm } from 'react-square-web-payments-sdk';
export default function MyApp() {
return (
<PaymentForm>
<GiftCard>Pay $10 with Gift Card</GiftCard>
</PaymentForm>
);
}
focus
Sets the DOM focus of one of the input fields within the GiftCard form.
The only supported value is cardNumber
.
import { GiftCard, PaymentForm } from 'react-square-web-payments-sdk';
export default function MyApp() {
return (
<PaymentForm>
<GiftCard focus="cardNumber" />
</PaymentForm>
);
}
includeInputLabels
Render card form with input labels adjacent to corresponding input field
import { GiftCard, PaymentForm } from 'react-square-web-payments-sdk';
export default function MyApp() {
return (
<PaymentForm>
<GiftCard includeInputLabels />
</PaymentForm>
);
}
Example
render()
Make it possible to put any component inside. If render is/are given then children
and buttonProps
is not applied.
import { GiftCard, PaymentForm } from 'react-square-web-payments-sdk';
export default function MyApp() {
return (
<PaymentForm>
{/* Render your own component using our component as a Prop */}
<GiftCard render={({ Button }) => <Button>Pay $10</Button>} />
</PaymentForm>
);
}
style
A map of .css classes and values that customize the style of the input fields
import { GiftCard, PaymentForm } from 'react-square-web-payments-sdk';
export default function MyApp() {
return (
<PaymentForm>
<GiftCard
style={{
input: {
fontSize: '14px',
},
'input::placeholder': {
color: '#771520',
},
}}
/>
</PaymentForm>
);
}