A bitcoin payment code is similar to a bitcoin address, except that it can be reused without hurting the privacy of the payment code owner or the people who use the code to send its owner bitcoin.
With a normal bitcoin address, it is possible to know the balance of the address just by looking up the address in a block explorer. It is also possible to know what bitcoin addresses sent bitcoin to the address. This transparency of information is damaging to the privacy of the owner of an address as well as people who send bitcoin to the address.
Bitcoin payment codes partially solve the transparency problem of bitcoin addresses by enabling each person who wants to send bitcoin to the payment code’s owner to create an a new address for each transaction. Only the sender and the recipient will know the addresses generated using the payment code. Knowing the payment code is not enough to know what addresses are being generated by each sender. This protects the privacy of both sender and receiver.
You can learn more about bitcoin payment codes in this post by Justus Ranvier, the creator of the BIP-47 Reusable Payment Codes standard. If you are interested in using payment codes to send or receive bitcoin with more privacy, I recommend trying the Samourai Bitcoin Wallet.
You can find my payment code here.