Question: Why is the verb when paying for a service *subscribe*, but the noun form is *subscription*?

Is there a rule that changes "b" to "p"?

Answer: 
The "rule" goes right back to Latin (and probably to pre-Latin) where suffixes starting with an unvoiced consonant, such as "-tu" (earlier "-to") and "-si" caused a final voiced consonant on the root to be devoiced. Examples:

> 
> scrib-o 'I write' -> scrip-si 'I have written', scrip-tum 'written'
> 
> 
> dirig-o 'I steer' -> direxi (direk-si) 'I have steered', direc-tum 'steered'
> 
> 
> 

So you see there are other similar pairs in English (eg "dirigible" and "direct" - though "dirigible" is not a very common word, it's true)

Unfortunately, rules like this that go all the way back to Latin, are not very useful to learners of English, because they don't always apply to every case that might appear similar. So although most English words that end in "-ibe" are derived from "scribo", and have nouns in "-iption" (subscription, inscription, description, ascription), "imbibe" is an exception: There is no noun "\*imbiption". And conversely, there are nouns in "-ruption" (disruption, corruption, interruption) but their corresponding verbs end in "-rupt", not "-rube" as you might have guessed.
This is not about spelling, but about pronunciation. The simple answer to your question is: *the spelling is different because the pronunciation is different*.

The phenomenon seems to fall under **obstruent devoicing**.
The article [Voicing and devoicing in English, German, and Dutch;
evidence for domain-specific identity constraints by 
Janet Grijzenhout](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.141.5510&rep=rep1&type=pdf) goes into this in some more detail and mentions some more examples like *scribe*/*scripture*.

See chapter two for a bit more detailed description of this phenomenon in different languages:

> 
> The phenomenon to be considered in this paper is the voicing alternation that obstruents
>  display in different phonological environments.
> 
> 
>