During the payment process, a Source object is created and you receive a WeChat Pay URL that is used to authorize the payment in the WeChat app by scanning a QR code. After completing this, your integration uses the source to make a charge request and complete the payment.
WeChat Pay is a push-based, single-use and synchronous method of payment. This means that once your customer takes action to authorize the charge there is immediate confirmation about the success or failure of a payment.
If a customer’s WeChat Pay account is used illicitly, WeChat Pay and Stripe handle the issue internally. In the context of WeChat Pay, payments are only disputed if the customer has a complaint about the provided goods or service. Should a dispute occur, a
charge.dispute.created webhook event is sent, and Stripe deducts the amount of the dispute from your Stripe balance.
Payments made with WeChat Pay can only be submitted for refund within 180 days from the date of the original charge. After 180 days, it is no longer possible to refund the charge.
A WeChat Pay source must be charged within six hours of becoming
chargeable, or before 23:45 China Standard Time (GMT+8) due to Chinese government restrictions around settlement. If it is not, its status is automatically transitioned to
canceled and your integration receives a
source.canceled webhook event. Once a chargeable source is canceled, the customer’s authorized WeChat Pay payment is refunded automatically—no money is moved into your account. For this reason, make sure the order is canceled on your end and the customer is notified when you receive the
pending sources are canceled after one hour if they are not used to authorize a payment, ensuring that all sources eventually transition out of their
pending state to the
canceled state if they are not used.