customer pay my products from outside shipping address country, i cannot ship outside the country and only want ship within canada
I have to set paypal checkout only for canada address
This depends on how your PayPal Checkout flow is configured and which PayPal API and/or SDK you are using, but the general answer that applies to almost all PayPal Checkout integrations (except the old HTML payments standard) is that you can get the selected address before capturing or executing the payment. So if it's a non-CA address, simply refuse to do the final API step of capturing the order/payment and display an error.