Props
<Afterpay /> or <AfterpayButton />
buttonColor
Color of the button that initiates the Afterpay/Clearpay flow.
Possible values are: black or mint.
import { Afterpay, PaymentForm } from 'react-square-web-payments-sdk';
export default function MyApp() {
return (
<PaymentForm>
<Afterpay buttonColor="black" />
</PaymentForm>
);
}
Example
buttonType
The flavor of button to use for your Afterpay/Clearpay flow. This will modify the text.
Possible values are: checkout_with_afterpay, buy_now_with_afterpay or place_order_with_afterpay.
import { Afterpay, PaymentForm } from 'react-square-web-payments-sdk';
export default function MyApp() {
return (
<PaymentForm>
<Afterpay buttonType="buy_now_with_afterpay" />
</PaymentForm>
);
}
Example
finalCtaButtonType
The text for the completion button within the Afterpay/Clearpay CTA.
Possible values are: review_my_order or buy_now.
import { Afterpay, PaymentForm } from 'react-square-web-payments-sdk';
export default function MyApp() {
return (
<PaymentForm>
<Afterpay finalCtaButtonType="buy_now" />
</PaymentForm>
);
}
Button
Option to use a custom button, as opposed to the provided Afterpay/Clearpay buttons. If true this will ignore all the above options.
import { Afterpay, PaymentForm } from 'react-square-web-payments-sdk';
export default function MyApp() {
return (
<PaymentForm>
<Afterpay Button={() => <MyCustomButton />} />
</PaymentForm>
);
}
<AfterpayMessage />
badgeTheme
See Afterpay/Clearpay's Badge Themes documentation.
Possible values are: black-on-mint, black-on-white, mint-on-black or white-on-black.
import { AfterpayMessage, AfterpayProvider, PaymentForm } from 'react-square-web-payments-sdk';
export default function MyApp() {
return (
<PaymentForm>
<AfterpayProvider>
<AfterpayMessage badgeTheme="black-on-mint" />
</AfterpayProvider>
</PaymentForm>
);
}
Example
modalLinkStyle
The style of the button used to display the information modal. See Afterpay/Clearpay's Customize Text documentation.
Possible values are: circled-info-icon, circled-question-icon, learn-more-text, more-info-text or none.
import { AfterpayMessage, AfterpayProvider, PaymentForm } from 'react-square-web-payments-sdk';
export default function MyApp() {
return (
<PaymentForm>
<AfterpayProvider>
<AfterpayMessage modalLinkStyle="circled-info-icon" />
</AfterpayProvider>
</PaymentForm>
);
}
Example
modalTheme
Theme for the information modal. See Afterpay/Clearpay's Modal Themes documentation.
Possible values are: mint or white.
import { AfterpayMessage, AfterpayProvider, PaymentForm } from 'react-square-web-payments-sdk';
export default function MyApp() {
return (
<PaymentForm>
<AfterpayProvider>
<AfterpayMessage modalTheme="mint" />
</AfterpayProvider>
</PaymentForm>
);
}
Example
tip
Click on the button to see the modal.
size
The size of the text.
Possible values are: xs, sm, md or lg.
import { AfterpayMessage, AfterpayProvider, PaymentForm } from 'react-square-web-payments-sdk';
export default function MyApp() {
return (
<PaymentForm>
<AfterpayProvider>
<AfterpayMessage size="xs" />
</AfterpayProvider>
</PaymentForm>
);
}
<AfterpayProvider />
onShippingAddressChange()
Occurs when a buyer chooses a shipping address in Afterpay/Clearpay.
It is required for you to subscribe to this event if shipping if marked a required.
import { AfterpayButton, AfterpayProvider, PaymentForm } from 'react-square-web-payments-sdk';
export default function MyApp() {
return (
<PaymentForm>
<AfterpayProvider
onShippingAddressChange={(contact) => {
return {
shippingOptions: [
{
id: 'shippingOption1',
label: 'Free Shipping',
amount: '0.00',
total: '27.50', // Line Items + Discounts + Taxes + Shipping
taxLineItems: [
{
id: 'taxItem1',
label: 'Taxes',
amount: '2.50',
},
],
},
{
id: 'shippingOption2',
label: 'Express Shipping',
amount: '10.00',
total: '38.50', // Line Items + Discounts + Taxes + Shipping
taxLineItems: [
{
id: 'taxItem1',
label: 'Taxes',
amount: '3.50',
},
],
},
],
};
}}
>
<AfterpayButton />
</AfterpayProvider>
</PaymentForm>
);
}
onShippingOptionChange()
Occurs when a buyer chooses a shipping option in Afterpay/Clearpay.
Subscribe to this event if you want to be alerted of shipping options changes. This event if informational only, and does not update the payment request.
import { AfterpayButton, AfterpayProvider, PaymentForm } from 'react-square-web-payments-sdk';
export default function MyApp() {
return (
<PaymentForm>
<AfterpayProvider
onShippingOptionChange={(option) => {
console.info('Shipping option changed to', option);
}}
>
<AfterpayButton />
</AfterpayProvider>
</PaymentForm>
);
}
<AfterpayWidget />
includeBranding
Include the afterpay logo in the widget. Default false.
import { AfterpayProvider, AfterpayWidget, PaymentForm } from 'react-square-web-payments-sdk';
export default function MyApp() {
return (
<PaymentForm>
<AfterpayProvider>
<AfterpayWidget />
</AfterpayProvider>
</PaymentForm>
);
}