1. Can you give me a rain check?

2. Can I take a rain check?
3. Can I have a frain check?
4. Can I get a rain check?

(Are they all grammatical and the same? Which expression is commonly used?)

All are fine, and all are commonly used, yes!

(just correct the spelling of "rain" in #3) =)

All four expressions are grammatically correct, but the most commonly used and accepted expression is "Can I get a rain check?" This phrase is commonly used to ask for a postponement or rescheduling of a planned event or activity due to unforeseen circumstances, typically related to bad weather. It implies that the person is unable to attend the original event but would like to attend a future event instead.

The phrase "Can you give me a rain check?" is also acceptable, but it is less common than "Can I get a rain check?" as it places the responsibility on the person being asked to provide the rain check.

The third variation, "Can I have a frain check?", appears to be a typographical error or a misspelling of "rain check." "Frain check" is not a commonly used expression, and it would likely be misunderstood.

In summary, if you want to ask for a postponement or rescheduling of an event due to bad weather, it is best to use the phrase "Can I get a rain check?"